TIL) 특정 요소를 기준으로 배열 정렬 하기

김건우·2021년 5월 10일
0

특정 요소를 기준으로 sort 하기

 array.sort((a, b) => {
                        if (a === "Astring") {
                            return -1;
                        } else if (b === "Astring") {
                            return 1;
                        } else if (a === "Cstring") {
                            return -1;
                        } else if (b === "Cstring") {
                            return 1;
                        } else if (a === "Bstring") {
                            return -1;
                        } else if (b === "Bstring") {
                            return 1;
                        } else if (a=== "Fstring") {
                            return -1;
                        } else if (b=== "Fstirng) {
                            return 1;
                        } else {
                            return 0;
                        }
                    });

결과
["Astring", "Cstring, "Bstring", "Fstring"]

sort() 의 작동방법

  • return 값이 0 보다 작으면 "첫번째 인자를 우선 정렬" 한다
  • return 값이 0 보다 크면 "두번째 인자를 우선 정렬" 한다.
  • return 값이 0 이면 정렬하지 않는다.

위의 로직에서 "Astring"에 해당하는 로직을 풀어보면

  • 만약 a 가 "Astring" 이라면 return -1 이므로, 첫번째 인자 "a"는 첫번째로 정렬
  • 만약 b 가 "Astring" 이라면 return 1 이므로, 두번째 인자 "a"는 첫번째로 정렬

즉, a==="Astring" 또는 b==="Astring" 이라면 가장 먼저 정렬하는 로직이 되므로, "Astring" 은 가장 첫번째 요소로 정렬되게 된다.

profile
꾸준하게 공부하기

0개의 댓글