본문 바로가기

JS

array에 자주 쓰는 sort, map, filter 함수

var 어레이 = [2,3,1,8,7];  //그냥 sort는 문자를 오름차순으로 해줌, 숫자를 오름차순으로 할려면 다음 같이 해야함
어레이.sort(function(a,b){
    return a-b

})
// 다음연산이 양수면 a를 오른쪽으로, 음수면 b를 오른쪽으로 
// 이렇게 모든 원소를 비교해 오름차순을 만든다

내림차순이면 

b-a 를 하면된다. 

 

 var product = [
{id: 3, price: 15000, title: 'Leather Blazer'},
{id: 4, price: 55000, title: 'Yoga Leggings'},
{id: 5, price: 30000, title: 'Sleeveless Racer'}
 ]

 // 다음 데이터를 가격순으로 정렬 

 product.sort(function(a, b){
     return a.price - b.price
 })

숫자가 아닌 object 에서 가격순으로 정렬해보자 

숫자가 있는 price에 접근하여 비교하면 된다. 

 

* 변수나 데이터가 바뀌거나 새롭게 정렬되어 그 내용을 기존 html 또는 함수에 적용하려면 

새롭게 불러와야한다. 

 

var 새어레이 = 어레이.filter(function(a){
   //조건식 어떤 자료를 거를지
    return  a < 4
});

특정 데이터를 거를떠 filter 함수를 사용 

그리고 변수에 저장해서 써야함 원본을 변형하는게 아님 변형된 값을 그 자리에 남겨두기 때문

sort() 는 원본자체를 바꿈

 

ex) 쇼핑몰 같은곳에서 특정 가격에 제품만 보여줄때 

     

 

var a = [7,4,2];
var na = a.map(function(b){
    return b * 4;
})

map() 배열의 모든 원소에 다음 연산을 수행함

'JS' 카테고리의 다른 글

장바구니 기능과 localStorage  (0) 2022.11.19
DOM이라는 용어 개념정리 & load 이벤트  (0) 2022.11.15
Ajax  (0) 2022.11.09
array, for 반복문 실력향상 과제  (0) 2022.10.31
Select  (0) 2022.10.31