TechScribe Notes

[코딩애플;JS]sort,filter,map,숫자정렬,배열정렬,객체정렬 본문

프론트엔드/JavaScript

[코딩애플;JS]sort,filter,map,숫자정렬,배열정렬,객체정렬

yunmee0704 2023. 11. 18. 16:59

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 수식 등등
    });