이전에 파이썬에서 배웠던 반복문과 똑같다.
for in 도 있는데, for in은 객체를 순환한다.
근데 배열도 객체이긴 한데 배열에서 for in을 쓰면 key값을 반환한다.
for of는 value를 반환하기 때문에, for of를 더 많이 사용할 것 같다.
차이점을 보겠다.
// for of
let arr = [1, 2, 3];
for (let item of arr) {
console.log(item); // 1, 2, 3
}
//for in
let arr = [1, 2, 3];
for (let item in arr) {
console.log(item); // 0, 1, 2
}
let testArr = [1, 2, 3, 4, 5]
testArr.forEach((item) => {
console.log(item); // 1, 2, 3, 4, 5
});
let testArr = [1, 2, 3, 4, 5]
testArr.map((item) => {
console.log(item); // 1, 2, 3, 4, 5
});
새로운 배열을 반환하기에 값을 변경할 수도 있다.
const mappedArr = testArr.map((item) => {
return item * 2;
});
console.log(mappedArr); // 2, 4, 6, 8, 10
const filteredArr = testArr.filter((item) => {
return item > 3 ? item : null; // [4, 5]
});
이렇게 삼항연산자를 사용하여 조건문을 걸어줄 수 있다.
코드를 조금 더 줄인다면 아래와 같이 작성할 수도 있을 것 같다.
const filteredArr = testArr.filter((item) => {
return item > 3 ?? item; // [4, 5]
});
let testArr = [1, 2, 3, 4, 5]
const result = testArr.reduce((acc,cur,idx) => {
console.log("acc",acc);
console.log("cur",cur);
console.log("idx", idx);
return (acc = acc+cur); // 누적값은 리턴을 해줘야 갱신이 된다.
}, 0) // 0을 초기값으로 넣어줘야 함.
console.log(result); // 15 (1+2+3+4+5)
// 결과
acc 0
cur 1
idx 0
-------
acc 1
cur 2
idx 1
-------
acc 3
cur 3
idx 2
-------
acc 6
cur 4
idx 3
-------
acc 10
cur 5
idx 4
-------