Array.prototype.findIndex

은비·2023년 8월 7일
1

JS_Array

목록 보기
19/20
post-thumbnail

Array.prototype.findIndex

  1. ES6에서 도입되었다.
  2. 자신을 호출한 배열의 요소를 순회하면서 인수로 전달된 콜백 함수를 호출하여 반환값이 true인 첫 번째 요소의 인덱스를 반환한다.
  3. 콜백 함수의 반환값이 true인 요소가 존재하지 않는다면 -1을 반환한다.
const users = [
	{ id: 1, name: 'Lee' },
	{ id: 2, name: 'Kim' },
	{ id: 3, name: 'Choi' },
	{ id:4, name: 'Park' }  
];

users.findIndex(user => user.id === 2); // 1
/* id가 2인 요소의 인덱스를 구한다. */

users.findIndex(user => user.name === 'Park'); // 3
/* name이 'Park'인 요소의 인덱스를 구한다. */
/* 프로퍼티 키와 프로퍼티 값으로 요소의 인덱스를 구하는 경우 콜백 함수를 추상화할 수 있다. */

function predicate(key, value) {
	return item => item[key] === value; // key와 value를 기억하는 클로저를 반환
}

users.findIndex(predicate('id', 2)); // 1
/* id가 2인 요소의 인덱스를 구한다. */

users.findIndex(predicate('name', 'park')); // 3
/* name이 'Park'인 요소의 인덱스를 구한다. */

0개의 댓글

관련 채용 정보