배열 자체가 변경되니 주의!
let arr = [1,5,4,2,3];
let arr2 = ['a','c','d','e','b'];
arr.sort();
arr2.sort();
console.log(arr) -> [1,2,3,4,5];
console.log(arr2) -> ['a','b','c','d','e'];
sort는 배열안에 숫자를 문자로 인식함
그래서 이런 오류가 있음
let arr = [27, 8, 5 ,13;
arr.sort();
console.log(arr) -> [13, 27, 5, 8] 문자로 취급하기 때문에 앞에 문자만을 보고 배열을 정렬해줌
해결법
arr.sort((a,b){
return a - b; -> a와 b를 비교하여
a가 작으면 a를 앞으로 보냄
a가 크면 b를 앞으로 보냄
});
console.log(arr) -> [5,8,13,27]
console.log(a,b)만 출력하면

각각비교하여 이렇게 출력됨
어려워서 Lodash 라이브러리 사용한다고 함

_.sortBy(arr); 문자던 숫자던 정렬해줌
let arr = [1,2,3,4,5]
let result = arr.reduce((prev, cur)=>{ *prev = 누적된 값 cur = 현재 값
return prev + cur;
}, 0) *0은 초기값 설정 안하면 첫번째 값이 적용됨
let userList = [
{ name : 'mike', age : 30},
{ name : 'tom', age : 10},
{ name : 'jane', age : 27},
{ name : 'sue', age : 26},
{ name : 'harry', age : 42},
{ name : 'steve', age : 60},
];
let result = userList.reduce((prev, cur)=>{
if(cur.age > 19){ *현재값의 age가 19보다 크다면
prev.push(cur.name) *지금까지 누산된 값에 현재값의 name을 추가
}
return prev;
},[]) * 초기값은 빈 배열
console.log(result) -> ['mike','jane','sue','harry','steve'];