JS array methods - 2

김형석·2022년 5월 5일
0

WECODE

목록 보기
15/33

1. sort

array 자료 숫자 정렬하기

array 자료는 순서개념이 있다보니 정렬도 가능하다. 그냥 문자 정렬은 .sort()로 해결이 가능하지만 숫자정렬은 다르니 확인해보자

let array = [7, 3, 5, 2, 40]
array.sort()
console.log(array) // [2, 3, 40, 5, 7]

sort는 문자로 정렬해주는 함수이기 때문에 위와 같은 결과가 나온다. 그럼 숫자정렬은 어떻게 할까?

var array = [7,3,5,2,40];
어레이.sort(function(a, b){
  return a - b
});

console.log(array); // [2, 3, 5, 7, 40]

이렇게 하면 숫자정렬이 완성이 된다. 그럼 왜 이렇게 되는지도 알아보자

  1. a, b는 array 안의 자료임

  2. return 오른쪽이 양수면 a를 오른쪽으로 정렬해줌

  3. return 오른쪽이 음수면 b를 오른쪽으로 정렬해줌

  4. 그리고 array 안의 자료들을 계속 뽑아서 a, b에 넣어줌

이렇게 동작해서 a - b 저렇게 쓰면 숫자순 정렬이 된다.

예를 들면 a, b가 7과 3일 경우 7 - 3 하면 4가 남음
4는 양수! 그러면 7을 3보다 오른쪽으로 보내줌
그래서 숫자 오름차순 (123순) 정렬이 완성됨

그러면 내림차순 정렬도 해보자

var array = [7,3,5,2,40];

어레이.sort(function(a, b){
  return b - a 
}); 

원리를 조금만 생각해보면 쉽다.

2. filter

filter 함수 사용법을 간단히 알아보자

filter() 함수는 특정 조건에 부합하는 배열의 모든 값을 배열 형태로 리턴한다.

var array = [7,3,5,2,40];

let newArray = array.filter(function(a){
	return a < 4
});  
console.log(array) // [3, 2]
  1. a라고 작명한건 array 에 있던 데이터를 뜻하고

  2. return 우측에 조건식을 넣으면 조건식에 맞는 a만 남겨준다.

  3. 그리고 filter는 원본을 변형시키지 않는 고마운 함수기 때문에 새로운 변수에 담아써야한다.

sort,함수는 원본이 변형이 되지만, filter함수는 원본이 유지 된다.

profile
블로그 이사 : https://hengxi.tistory.com

0개의 댓글