Korean_hamster
지현의 개발자 성장과정
Korean_hamster
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Front-End Developer (79)
      • Project (12)
      • HTML (8)
      • CSS (17)
      • Computer Science (9)
      • JavaScript (20)
      • React (13)
    • 이런저런 생각 (7)
    • 주간 성장회고 (24)
    • English (0)
    • 리뷰 (2)
    • Books (5)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • 리액트
  • CSS
  • 깃헙
  • 멋사
  • sass
  • 프론트앤드
  • 면접관님
  • 반응형웹
  • CS
  • 라우터
  • 비전공자개발자
  • 멋쟁이사자처럼
  • 깃
  • flex
  • fetch
  • AtomicHabits
  • js
  • 프론트앤드스쿨
  • 비전공개발자
  • HTML

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Korean_hamster
Front-End Developer/JavaScript

JavaScript sort() not working | sort()가 안될 때

Front-End Developer/JavaScript

JavaScript sort() not working | sort()가 안될 때

2022. 6. 1. 20:39

sort()를 했는데 맘처럼 안될때가 있다. 왜그럴까?

 

JS는 sort()를 하는순간 정렬하고자 하는 아이템을 모두 문자로 바꾸고 숫자의 크기가 아닌 첫 캐릭터들을 비교하여 줄을 세우기 때문이다.

 

아래 예시를 보면, 2 다음에 3이 아닌 24가 오는것을 볼 수 있다.

      let array = [3, 455, 2, 24, 56];
      array.sort();
      
      console.log(array);

 

 

해결방법

 

이는 a,b의 값을 비교해주어 negative값이 나오면 a를 왼쪽으로 정렬시키고 positive값이 나오면 a를 오른쪽으로 보내는 일련의 식을 통해 해결해줄 수 있다.

 

function sortNumbers(a, b) {
  if (a > b) {
    return 1;
  } else if (b > a) {
    return -1;
  } else {
    return 0;
  }
}

이와 같은 과정으로 솔팅이 된다.

 

이를 간단하게 써주면 아래와 같이 된다.

 

      let array = [3, 455, 2, 24, 56];
      array.sort((a, b) => a - b);

      console.log(array);

 

 

JavaScript sort() not working

JavaScript has a sort() method that you can use on arrays, but the results are almost always weird and don’t return what you initially expect. For example, if you have the following [9, 8, 12, 1, 33, 21] array, using sort() on it will return [1, 12, 21,

www.dottedsquirrel.com

저작자표시 (새창열림)

'Front-End Developer > JavaScript' 카테고리의 다른 글

이벤트를 딱 한번만 일어나게 하고싶을 때 - 자바스크립트 DOM 꿀팁  (0) 2022.07.17
Promise/fetch 텍스트파일에 있는 텍스트는 어떻게 가져올건데?  (2) 2022.06.23
JS로 생성한 요소 for문으로 HTML에 붙여주기  (0) 2022.05.31
for 반복문으로 코드 n배 절약해보기 + 이벤트버블링  (0) 2022.05.28
(JS기초)변수의 할당, 선언, 범위  (0) 2022.05.22
  • 해결방법
Korean_hamster
Korean_hamster
Keep pushing myself to the limits

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.