배열 활용 (forEach / map / filter / reduce)
화살표 함수 , 삼항연산자 ==== 익숙해지면 된다!!!!
json
forEach
도 결국, array의 메서드!
const testArr = [1, 56, 73, 87, 90, 100, 35, 7, 32]; //length=9
testArr.forEach(function () {
console.log("hello");
});
length=9인데, 배열의 개수만큼 hello가 9번 나오게된다.
이 안에 매개변수 item
을 넣으면,
const testArr = [1, 56, 73, 87, 90, 100, 35, 7, 32];
testArr.forEach(function (item) {
console.log(item);
});
const testArr = [1, 56, 73, 87, 90, 100];
testArr.map(function (item) {
console.log("---");
console.log(item);
});
const testArr = [1, 56, 73, 87, 90, 100];
const mappedArr = testArr.map(function (item) {
return item * 2;
});
console.log(mappedArr); //[ 2, 112, 146, 174, 180, 200 ]출력
//일반 함수
function(){
return 1;
}
//같은 값의 화살표 함수
()=> 1
const mappedArr = testArr.map((item) => {
item * 2;
});
//return이 한줄이면 리턴 생략 가능.
filter에는 조건이 들어가야한다.
const testArr = [1, 56, 73, 87, 90, 100];
const filteredArr = testArr.filter((item) => {
console.log("check", item);
return item
if (item > 60) {
return item;
} else {
return null;
}
}); // [ 73, 87, 90, 100 ] 출력
조건 ? true일때 : flase일때
const testArr = [1, 56, 73, 87, 90, 100];
const filteredArr = testArr.filter((item) => {
return item > 60 ? item : null;
//return item > 10 ?? item (위랑 같다!)
});// [ 73, 87, 90, 100 ] 출력
acc,cur,idx(누적값, 현재값, 인덱스) 는 매개변수,
근데 아무 이름이나 써도 된다.
const testArr = [1, 56, 73, 87, 90, 100];
testArr.reduce((acc, cur, idx) => {
console.log("acc", acc);
console.log("cur", cur);
console.log("idx", idx);
console.log("");
return (acc = acc + cur); //누적값을 항상 갱신해줘야한다!
}, 0); //초기값을 0으로 넣어주면 인덱스가 0부터 시작하게된다.
과제 => 배열 메서드 4개 외워서 설명하는 영상찍기:)