31. 배열과 메서드 - 2

Chipmunk_jeong·2021년 3월 10일
0

TIL

목록 보기
31/62
post-thumbnail

forEach 메서드

배열의 각각 요소에 공통적으로 무언가 해주고 싶을때 forEach를 사용할 수 있다.

arr.forEach(함수);

특이한 점이라면 매개변수로 받은 함수의 리턴값이 다 무시된다.

위처럼 요소 하나하나에 함수를 적용해줄수 있지만 리턴값이 없는게
forEach다.


배열 탐색

배열 내에서 무언가를 찾고 싶을때 사요하는 메서드들이 있다.

indexOf, includes

indexOf 메서드는 매개변수로 받는 값이 배열에 존재한다면 해당 인덱스를 반환한다. 그리고 존재하지 않는다면 -1을 리턴한다.

let arr = ['apple', 'orange', 'melon'];
arr.indexOf('apple'); // 0
arr.indexOf('egg'); // -1

* 뒤에서 부터 탐색하는 lastIndexOf()메서드도 있다.

includes 메서드는 똑같이 매개변수가 배열에 존재하는지 찾는 메서드인데 결과값을 boolean타입으로 리턴하게 된다.

let arr =[1, 2, 3, 4, 5];
arr.includes(1); // true
arr.includes(10); // false

find, findIndex

어떠한 배열이 있고, 그 배열안에는 객체들이 들어가 있다고 한다면,
특정 객체를 찾고싶을 때가 있다.
이럴때 find메서드를 사용한다.

let result = arr.find(함수);

위처럼 특정 객체를 판별할 함수를 매개변수로 넣어주게 되면
해당 조건에 일치하는 객체를 리턴해준다.

let users = [
  {auth: '0', name:'quakka'},
  {auth: '1', name:'maria'},
  {auth: '0', name:'mesi'},
];

let result = users.find((element) => {
  element.auth === '1';
};
console.log(result.name); // 'maria'

해당 함수를 실행하여 참을 반환하면 탐색을 중단하고 요소가 반환됨.

findIndexfind와 비슷하지만 그 결과값을 인덱스로 반환해준다.

profile
Web Developer

0개의 댓글