arr.sort()
배열 재정렬
배열 자체가 변경되니 주의
/*****************************************************************
arr.sort()
배열 재정렬
주의! 배열 자첵 변경됨
인수로 정렬 로직을 담은 함수를 받음
*****************************************************************/
let arr = [1, 5, 4, 2, 3];
arr.sort();
console.log(arr);
------------------------------------------------------------
let arr2 = ["a", "c", "d", "e", "b"];
arr2.sort();
console.log(arr2);
------------------------------------------------------------
let arr = [27, 8, 5, 13];
arr.sort();
console.log(arr);
------------------------------------------------------------
let arr = [27, 8, 5, 13];
function fn(a, b) {
return a - b;
}
arr.sort(fn);
console.log(arr);
------------------------------------------------------------
let arr = [27, 8, 5, 13];
arr.sort((a, b) => {
console.log(a, b);
return a - b;
});
console.log(arr);
------------------------------------------------------------
Lodash
_.sortBy(arr);
https://lodash.com/
------------------------------------------------------------
/*****************************************
arr.reduce();
인수로 함수를 받음
(누적 계산값, 현재 값) => { return 계산값 };
*****************************************/
// 배열의 모든 수 합치기
let arr = [1, 2, 3, 4, 5];
// for, for of, forEach
let result = 0;
arr.forEach((num) => {
result += num;
});
console.log(result);
------------------------------------------------------------
// 배열의 모든 수 합치기
let arr = [1, 2, 3, 4, 5];
// for, for of, forEach
const result = arr.reduce((prev, cur) => {
return prev + cur;
}, 100);
console.log(result);
------------------------------------------------------------
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) {
prev.push(cur.name);
}
return prev;
}, []);
console.log(result);
------------------------------------------------------------
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) => {
return (prev += cur.age);
}, 0);
console.log(result);
------------------------------------------------------------
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.name.length === 3) {
prev.push(cur.name);
}
return prev;
}, []);
console.log(result);
'개발 및 관리 > Javascript' 카테고리의 다른 글
자바스크립트, 나머지 매개변수, 전개 구문(Rest parameters, Spread syntax) (0) | 2022.04.13 |
---|---|
자바스크립트, 구조 분해 할당 (Destructuring assignment) (0) | 2022.04.12 |
자바스크립트, 배열 메소드(Array methods) (0) | 2022.04.12 |
자바스크립트, 숫자, 수학 method (Number, Math) (0) | 2022.04.12 |
자바스크립트 값 변환, "0", false, "", [] (0) | 2022.04.11 |