let arrNum = [1, 5, 3, 4, 2];
let arrStr = ['d','e','a','b',];
let arr = ['d','e','1','2', 1, 2];
arrNum.sort();
arrStr.sort();
arr.sort();
console.log(arrNum); // [1,2,3,4,5]
console.log(arrStr); // ["1","2","d","e"]
console.log(arr); // ["1",1,"2",2,"d","e"]
let arrNum2 = [3, 12, 9, 80];
arrNum2.sort();
console.log(arrNum2); // [12,3,80,9]
let arrNum2 = [3, 12, 9, 80];
function fn(a, b){
console.log(a, b, ` a-b = ${a-b}`);
return a-b;
}
arrNum2.sort(fn);
console.log(arrNum2);
/*
12 3 " a-b = 9"
9 12 " a-b = -3"
9 12 " a-b = -3"
9 3 " a-b = 6"
80 9 " a-b = 71"
80 12 " a-b = 68"
[3,9,12,80]
*/
_.sortBy(arr);
와 같이 사용const result2 = arr.reduce((prev, cur)=>{
return prev + cur;
}, 0);
console.log('result2 = ', result2);
// "result2 = " 15
- prev = 현재까지 계산되어진 누적값
- cur = 현재값
- 두 번째 인수로 초기값 설정 (선택)
let userList = [
{ name : "Mike", age: 30 },
{ name : "Tom", age: 10 },
{ name : "Jane", age: 27 },
{ name : "Sue", age: 26 },
{ name : "Harry", age: 8 },
{ name : "Steve", age: 60 },
];
// 1. 이름만 뽑아서 배열 만들기
const nameList = userList.reduce((prev, cur) => {
prev.push(cur.name);
return prev;
}, []);
console.log(nameList);
// ["Mike","Tom","Jane","Sue","Harry","Steve"]
// 2. 성인인 사람들 이름 배열
const adultList = userList.reduce((prev, cur) => {
if(cur.age > 19){
prev.push(cur.name);
}
return prev;
}, []);
console.log(adultList);
// ["Mike","Jane","Sue","Steve"]
// 3. 나이 총합
const ageSum = userList.reduce((prev, cur) => {
prev += cur.age;
return prev;
}, 0);
console.log(ageSum);
// 161
// 4. 이름이 3글자인 사람 배열
const three = userList.reduce((prev, cur) => {
if(cur.name.length === 3){
prev.push(cur.name);
}
return prev;
}, []);
console.log(three);
// ["Tom","Sue"]
map, filter, reduce 등의 함수를 알맞게 사용할 수 있어야 함.