본문 바로가기
Javascript

고차함수_forEach, find, findIndex,some,every,filter

by jennyiscoding 2022. 8. 13.

기존에는 for문을 사용해서 배열의 인자를 꺼내서 썼다. 

const animals = ["개", "고양이", "늑대", "호랑이"];
for (let i = 0; i < animals.length; i++) {
  console.log(animals[i]);
}

이제 고차함수를 사용해보겠다. 

1. forEach

위의 코드와 동일하다. 

animals.forEach((val) => console.log(val));

 

ex)문제

const cat = { kind: "고양이", age: 4 };
const dog = { kind: "개", age: 13 };
const rabbit = { kind: "토끼", age: 2 };
const hamster = { kind: "햄스터", age: 0.5 };
const pets = [cat, dog, rabbit, hamster, cat]; // 객체배열

1. find
pets배열에 뱀이 있는지 찾아라

let result = pets.find((obj) => obj.kind == "뱀");
console.log(result); // 없는값 undefined

햄스터가 있는지 찾아라

let resulttrue = pets.find((obj) => obj.kind == "햄스터");
console.log(resulttrue); // 없는값 undefined

 

2. findIndex
개가 몇번째 인덱스인지 찾아라

result = pets.findIndex((obj) => obj.kind == "개");
console.log(result);

 

3. some

개가 하나라도 포함되어있는지 찾아라

result = pets.some((obj) => obj.kind == "개"); // 하나라도 있으면 true없으면 false
console.log(result);

4. every

모든값이 개인지 찾아라

result = pets.every((obj) => obj.kind == "개"); // 모든 값이 해당될때만 true
console.log(result);


5. 고양이가 있으면 따로 빼서 result라는 변수에 저장해라.

result = pets.filter((obj) => obj.kind === "고양이");
console.log(result);