TechScribe Notes
[코딩애플;JS]sort,filter,map,숫자정렬,배열정렬,객체정렬 본문
1️⃣sort : 배열을 정렬하는 함수.
배열이름.sort(function(a, b){
return a - b
});
⭐sort()의 원리.
파라미터 a,b는 배열의 각 자료들이다. a와 b를 비교했을 때, 양수가 나온다면 a를 뒤로보낸다(a가 더 크니까) 그러나 음수가 나오면 반대로 b를 뒤로 보낸다.
이런식으로 여러번 반복하여 정렬해 주는 것이다.(sort는 원본을 변형시키기 때문에 원본을 따로 복사해두는 것이 좋다.)
반대로 숫자를 역순으로 정렬하고 싶다면,
배열이름.sort(function(a, b){
return b - a
});
✍️문자를 정렬할 때는
문자는 숫자와 같이 크고 작은 비교까지는 가능하지만 문자끼리 연산했을 때 값은 나오지 않음.
하지만 위의 sort()의 원리를 사용해서, if문으로 임으로 각각의 경우에 음수와 양수,0의 값을 지정해주면 정렬이 된다.
배열이름.sort(function (a, b) {
if (a > b) return 1; //a가 b보다 크면 a를 뒤로보낸다.
if (a < b) return -1; //b가 a보다 크면 b를 뒤로보낸다.
if (a = b) return 0; //값이 같으면 변화 없음.
})
이것도 역순으로 하고 싶다면 음수,양수값만 서로 바꿔준다.
배열이름.sort(function (a, b) {
if (a > b) return -1; //a가 b보다 크면 b를 뒤로보낸다.
if (a < b) return 1; //a가 b보다 크면 a를 뒤로보낸다.
if (a = b) return 0; //값이 같으면 변화 없음.
})
2️⃣fitler: 어떤 조건에 따라 원하는 자료만 필터링할 수 있는 함수.
var 어레이 = [7, 3, 5, 2, 40];
var 새어레이 = 어레이.filter(function (a) {
return 조건식
});
⭐filter는 원본을 변형시키지 않으므로 새로운 배열에 정렬한 값을 넣어줘야함.
3️⃣map: 배열 안에 있는 자료 값을 변형시켜주는 함수
var 새어레이 = 어레이.map(function (a) {
return 수식 등등
});
'프론트엔드 > JavaScript' 카테고리의 다른 글
[코딩애플;JS] DOM과 load (2) | 2023.11.18 |
---|---|
[코딩애플;JS]sort,filter,map,숫자정렬,배열정렬,객체정렬 예제 (2) | 2023.11.18 |
[코딩애플;JS]Ajax (0) | 2023.11.17 |
[코딩애플;JS]forEach, for in,Arrow function (0) | 2023.11.17 |
[코딩애플;JS]select 인풋 다루기(셀렉박스에서 옵션값 변경 시 이벤트, onchange) (0) | 2023.11.17 |