Class: 제로베이스
Created: December 1, 2022 3:44 PM
Type: Javascript
강의 명: 이론부터 실전까지 모든 것을 담은 자료구조/알고리즘
let nums = [1,-1,4,0,10,20,12]
console.log(nums.sort((a,b) => a-b))
// 오름차순 정렬 [ -1, 0, 1, 4, 10, 12, 20 ]
console.log(nums.sort((a,b) => b-a))
// 내림차순 정렬 [ 20, 12, 10, 4, 1, 0, -1 ]
let fruits = ['orange', 'Orange', 'apple', 'melon'];
console.log(
fruits.sort((a,b)=> {
a = a.toUpperCase();
b = b.toUpperCase();
if(a > b) return 1;
else if(b > a) return -1;
else return 0;
}
)
) // [ 'apple', 'melon', 'orange', 'Orange' ]
let order = (x,y) => {
if (typeof x === "string") x = x.toUpperCase();
if (typeof y === "string") y = y.toUpperCase();
return x>y ? 1 : -1;
}
let nums = [1,-1,4,0,10,20,12]
let fruits = ['orange', 'Orange', 'apple', 'melon'];
console.log(nums.sort(order))
// [ -1, 0, 1, 4, 10, 12, 20 ]
console.log(fruits.sort(order))
// [ 'apple', 'melon', 'orange', 'Orange' ]
item : 배열 요소, index : 배열 위치, array : 배열
let nums = [10, 20, 30, 40]
nums.forEach(function(i) {
console.log(i) // 10 20 30 40
})
item : 배열 요소, index : 배열 위치, array : 배열
let nums = [10, 20, 30, 40]
let use_map = nums.map( x => x * 2)
console.log(use_map) // [ 20, 40, 60, 80 ]
let users = [
{name: "bob", age: 17, job: false},
{name: "alice", age: 20, job: false},
{name: "john", age: 27, job: true},
];
let find_job = users.find(user => user.job == false);
console.log(find_job);
// { name: 'bob', age: 17, job: false }
let find_age = users.filter(function(user) {
return user.age >=19;
})
console.log(find_age);
// [ { name: 'alice', age: 20, job: false },
// { name: 'john', age: 27, job: true } ]
요소 별 함수 수행 누적 결과값을 반환한다.
- Array. reduce ( function ( accumulator, item, index, array ) { } )
- accumulator: 이전 함수 결과 ( initial로 초기값 설정 가능 )
- item : 배열 요소, index : 배열 위치, array: 배열
let nums = [1, 2, 3, 4, 5];
let result = nums.reduce((accumulator, current) => {
return accumulator + current
}, 0)
console.log(result) // 15