JavaScript

[JavaScript][기초] 배열 순회탐색 메소드 (forEach, includes, indexOf, findIndex, find)

개발새발 2024. 7. 14. 12:10
반응형

1. forEach
배열의 모든 요소를 순회하면서, 각각의 요소에 특정 동작을 수행시키는 메서드

let arr1 = [1, 2, 3];
arr1.forEach(function (item, idx, arr) {
  console.log(item * 2);
  // 2
  // 4
  // 6
});

// 아래와 같이 응용가능
let doubledArr = [];
arr1.forEach((item) => {
  doubledArr.push(item * 2);
});
console.log(doubledArr); // [2, 4, 6]

 

2. includes
배열에 특정 요소가 있는지 확인하는 메소드

let arr2 = [1, 2, 3];
console.log(arr2.includes(3)); // true
console.log(arr2.includes(11)); // false

 

3. indexOf
특정 요소의 인덱스(요소)를 찾아서 반환하는 메소드

let arr3 = [1, 2, 3];
const index = arr3.indexOf(2);
console.log(index, arr3[index]); // 1 2

 

4. findIndex
모든 요소를 순회하면서, 콜백함수의 조건을 가장 먼저 만족하는 경우
특정 요소의 인덱스(위치)를 반환하는 메소드

let arr4 = [1, 2, 3];
const findedIndex = arr4.findIndex((item) => {
  if (item === 2) return true;
});
console.log(findedIndex); // 1

const oddNumberIndex = arr4.findIndex((item) => item % 2 !== 0);
console.log(oddNumberIndex); // 0

// 객체 배열인 경우
let objectArray = [{ name: "dy lee" }, { name: "sy im" }];
console.log(objectArray.indexOf(1)); // -1
console.log(objectArray.findIndex((item) => item.name === "sy im")); // 1

 

5. find
모든 요소를 순회하면서 콜백 함수를 만족하는 경우, 해당 요소(객체)를 그대로 반환

let objectArray2 = [{ name: "dy lee" }, { name: "sy im" }];

let findedObject = objectArray2.find((item) => item.name === "dy lee");
console.log(findedObject); // {name: 'dy lee'}

 

반응형