메서드 | 설명 | 비고 |
---|---|---|
forEach | 배열의 각 요소에 대해 콜백 함수를 한 번씩 실행 | 반환 값 없음 |
map | 콜백 함수의 반환 값을 요소로 하는 새로운 배열 반환 | |
filter | 콜백 함수의 반환 값이 참인 요소들만 모아서 새로운 배열을 반환 | |
reduce | 콜백 함수의 반환 값들을 하나의 값(acc)에 누적 후 반환 | |
find | 콜백 함수의 반환 값이 참이면 해당 요소를 반환 | |
some | 배열의 요소 중 하나라도 판별 함수를 통과하면 참을 반환 | |
every | 배열의 모든 요소가 판별 함수를 통과하면 참을 반환 |
array.forEach((element,index,array) =>{
//do something
})
const fruits = ['딸기','수박','사과','체리']
fruits.forEach((fruit,index) => {
console.log(fruit,index)
// 딸기 0
// 수박 1
// 사과 2
// 체리 3
})
방식 | 특징 | 비고 |
---|---|---|
for loop | 모든 브라우저 환경에서 지원 인덱스를 활용하여 배열의 요소에 접근 break, continue 사용 가능 | |
for of | 일부 오래된 브라우저 환경에서 지원 X 인덱스 없이 배열의 요소에 바로 접근 가능 break, continue 사용 가능 | |
for Each | 대부분의 브라우저 환경에서 지원 break,continue 사용 불가능 |
array.map((element,index,array) =>{
// do something
})
const numbers = [1,2,3,4,5]
const doubleNums = numbers.map((num) =>{
return num * 2
})
console.log(doubleNums) //[2,4,6,8,10]
array.filter((element,index,array) =>{
// do something
})
const numbers = [1,2,3,4,5]
const oddNums = numbers.filter((num,index) => {
return num %2
})
console.log(oddNums) //1,3,5
array.reduce((acc, element, index, array) => {
//do someting
}, initialValue)
const numbers = [1,2,3]
const result = numbers.reduce((acc,num) => {
return acc + num
},0)
console.log(result) // 6
array.find((element, index, array)){
//do someting
}
const avengers = [
{name : 'Tony Stark', age:45},
{name : 'Steve Rogers',age:32},
{name : 'Thor', age:40},
]
const result = avengers.find((avenger) => {
return avenger.name === 'Tony Stark'
})
console.log(result)
//{name: 'Tony Stark', age: 45}
array.some((element, index, array)){
//do someting
}
const numbers = [1,3,5,7,9]
const hasEvenNumber = numbers.some((num) =>{
return num %2 ===0
})
console.log(hasEvenNumber) //false
const hasOddNumber = numbers.some((num) => {
return num %2
})
console.log(hasOddNumber) //True
array.every((element, index, array)){
//do someting
}
const numbers = [2,4,6,8,10]
const isEveryEvenNumber = numbers.every((num) =>{
return num %2 ===0
})
console.log(isEveryEvenNumber) //true
const isEveryOddNumber = numbers.some((num) => {
return num %2
})
console.log(isEveryOddNumber) //false