키모스토리

#8 배열 메소드2 (sort, reduce) 본문

Web Devlopment/JavaScript

#8 배열 메소드2 (sort, reduce)

키모형 2025. 3. 18. 17:47
반응형

sort() 

배열 재정렬 (배열 자체가 변경됨)

인수로 정렬 로직을 담은 함수를 받을 수 있음 

let arr = [27, 5, 9, 14];
arr.sort();
console.log(arr); // [ 14, 27, 5, 9 ]  -> 5,9,14,27을 예상 하였으나 문자열 정렬방식으로 정렬됨
let arr = [27, 5, 9, 14];

arr.sort((a, b)=> {
    console.log(a, b);
    return a - b;
});

console.log(arr); // [ 5, 9, 14, 27 ]

 

reduce()

인수로 함수를 받음 

(누적 계산, 현재값) -> {return 계산값};

let arr = [ 1, 2, 3, 4, 5 ];

// 배열의 모든 수 합계
let result =0;
arr.forEach((num)=>{
    result+=num;
});
console.log(result);

 

// 배열의 모든 수 합계
const result = arr.reduce((prev, cur)=>{
    return prev+cur;
}, 0)
console.log(result);

 

 reduce 예제

// 유저목록 중에서 성인들의 이름만 새로운 배열에 저장하라
let userList = [
   { name: "Mide", age: 30},
   { name: "Tom", age: 17},
   { name: "Jane", age: 15},
   { name: "Kim", age: 23},
   { name: "Lee", age: 16},
   { name: "Park", age: 42},
];

let result = userList.reduce((prev, cur)=>{
    if(cur.age>19){
        prev.push(cur.name);
    }
    return prev;
},[]);

console.log(result);  //  [ 'Mide', 'Kim', 'Park' ]

 

 

반응형