forEach() 메서드 : 배열의 모든 요소를 돌며 각 요소와 인덱스를 받는 함수를 실행한다.
// array.forEach((element, index) => {}) : 기본구조. (3,0) (1,1) (4,2) (6,3)
// 각각의 요소들에 대해서 함수가 4번 실행
var array = [3,1,4,6];
var value = '3214'
var strike = 0;
var ball = 0;
array.forEach((element, index) => {
var idx = value.indexOf(element);;
if (idx > -1){ // 일치하는 숫자 발견
if (idx === index){ // 자릿수도 같음
strike += 1;
} else { // 숫자만 같음
ball += 1;
}
})
forEach()는 객체를 요소로 가지는 배열에서도 활용이 가능하다.
// forEach()는 객체를 요소로 가지는 배열에서 활용이 가능하다.
var obj = [
{ name: "Jam Josh", age: 44, salary: 4000, currency: "USD" },
{ name: "Justina Kap", age: 34, salary: 3000, currency: "USD" },
{ name: "Chris Colt", age: 37, salary: 3700, currency: "USD" },
{ name: "Jane Doe", age: 24, salary: 4200, currency: "USD" }
];
obj.forEach((staff, index) => {
var sentence = `index ${index} : I am ${staff.name}.`;
console.log(sentence);
});
// index 0 : I am Jam Josh.
// index 1 : I am Justina Kap.
// index 2 : I am Chris Colt.
// index 3 : I am Jane Doe.
forEach()로 모든 수의 합 구하기
var array = [1,2,3,4]
var total = 0;
array.forEach((num) => {
total += num;
});
console.log(total); // 10
forEach()에서 조건문 사용하기
// forEach()는 객체를 요소로 가지는 배열에서 활용이 가능하다.
var obj = [
{ name: "Jam Josh", age: 44, salary: 4000, currency: "USD" },
{ name: "Justina Kap", age: 34, salary: 3000, currency: "USD" },
{ name: "Chris Colt", age: 37, salary: 3700, currency: "USD" },
{ name: "Jane Doe", age: 24, salary: 4200, currency: "USD" }
];
obj.forEach(({name, salary}) => {
if (salary >= 4000){
console.log(name);
}
});
//Jam Josh
//Jane Doe
forEach() 는 for문과는 다르게 break, continue 명령어가 작동하지 않는다.