js를 쓰면서 배열, 객체를 순회하는 일이 많은데, 이때 매번 헷깔리는 메소드들을 한번 정리해보는 시간을 가져보자
const arr1 = ["ktw", "ldk", "jjh"];
arr1.forEach((e,i) => { console.log(e,i) });
// "ktw" 0
// "ldk" 1
// "jjh" 2
const arr1 = [1,2,3,4,5]
const arr2 = arr1.map(e => e*2)
// arr1은 그대로 [1,2,3,4,5]
// arr2는 [2,4,6,8,10]
*map의 3번째 인자에 본인 array값을 넣을수있음
const arr2 = arr1.map(el,index,array) => array.map(v => v*2));
// [[2,4,6,8,10],[2,4,6,8,10],[2,4,6,8,10],[2,4,6,8,10],[2,4,6,8,10]]
// arr1배열 자체의 값을 2배로 늘린다음 행의 개수만큼 늘림
const arr1 = [1,2,3,4,5]
arr2 = arr1.filter( e => e > 3)
// arr1은 그대로 [1,2,3,4,5]
// arr2는 [4,5]
??? 제대로 공부하기
const obj = {
id:1,
name:"ktw",
old:28
}
const arr = [10,20,30]
for(let v in obj){ console.log(v,obj[v]) }
// id 1
// name ktw
// old 28
for(let v in arr){ console.log(v,arr[v]) }
// 0 10
// 1 20
// 2 30
const arr1 = [1,2,3,4,5];
const obj1 = {name:"ktw", old:28}
for(let v of arr){ console.log(v) } // 1,2,3,4,5
for(let v of obj){ console.log(v) } // Uncaught TypeError: obj is not iterable
배열안의 객체가 콜백 메소드의 조건을 하나라도 만족하면 true, 아니면 false
const arr1 = [1,2,3,4,5,6];
arr1.some(e => e>0) //true
arr1.some(e => e>3) //true
arr1.some(e => e>7) //false
배열안의 객체가 콜백 메소드의 조건을 모두 만족하면 true, 아니면 false
const arr1 = [1,2,3,4,5,6];
arr1.every(e => e>0) //true
arr1.every(e => e>3) //false
const obj = {
name : "ktw",
id : "1",
old : 28,
}
const keys = Object.keys(obj) // ["name", "id", "old"]
const values = Object.values(obj) // ["ktw", "1", 28]
const entries = Object.entries(obj) // [["name","ktw"], ["id","1"], ["old",28]]
for(let v in keys){ console.log(v, keys[v]) }
// 0 "name" // 1 "id" // 2 "old"