이용할 배열

names.forEach(element => {
console.log(element);
});
결과
{ id: 'a', name: 'kim' }
{ id: 'b' }
{ id: 'c' }
{ id: 'd' }
{ id: 'e' }
{ id: 'f' }
{ id: 'g' }
{ id: 'h', name: 'kim' }
names의 값을 모두 반환해준다.
함수 안에서 실행되고 있는것이 뽀.인.트
let data = names.map((element)=>{
return element.id
})
console.log(data); //배열로 return 됨
결과
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h'
]
리턴을 해주어야하고 배열로 리턴되는것이 뽀.인.트
data = names.filter((element)=>{
return element.id=="a"
})
console.log(data);
결과
[ { id: 'a', name: 'kim' } ]
리턴하면서 조건을 달아줄 수 있다.
이걸 이용해서 리턴할 요소들을 걸러준다. + 배열로 리턴해준다.
(map에서 동일하게 실행해준다면 True, False 로 나온다.)
data = names.some((element)=>{
return element.id == "a"
})
console.log(data);
결과
true
리턴되는 조건이 있는지 없는지 true, false 로 출력해준다.
data = names.every((element)=>{
return element.id =="a"
})
console.log(data);
결과
false
리턴되는 조건이 모두 해당하는지 살펴봐준다.
data = names.find((element) => {
return element.name=="kim"
})
console.log(data);
결과
{ id: 'a', name: 'kim' }
filter처럼 리턴에 해당하는 조건의 값을 리턴해준다.
find에서는 스트링으로 리턴하고, 해당하는 값중 먼저있는 값을 리턴해준다.
모두 각자의 장점이 있는 배열함수들이였다.
비슷한 함수들로는 find와 filter, every와 some이 있었지만
각자의 차이점이 뚜렷하여 적절한 때에 잘사용해야겠다^^
find → 스트링값으로 리턴, 처음에 가까운 값을 리턴
filter -> 배열로 조건에 해당하는 값 모두 리턴해준다.