Javascript find, findIndex, filter

JavaScript

find

find() 메서드는 주어진 판별 함수를 만족하는 첫 번째 요소 의 을 반환합니다. 그런 요소가 없다면 undefined를 반환합니다.

const array1 = [5, 12, 8, 130, 44];

const found = array1.find(element => element > 13);

console.log(found); // 44

findIndex

findIndex() 메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환합니다. 만족하는 요소가 없으면 -1을 반환합니다.

const array1 = [5, 12, 8, 130, 44];

const index1 = array1.findIndex((element) => element > 10)

console.log(index1); // 1

// findIndex 는 콜백으로 3개의 인수를 반환 
// element
// 배열에서 처리중인 현재 요소.
// index
// 배열에서 처리중인 현재 요소의 인덱스.
// array
// findIndex 함수가 호출된 배열 자체. 
const index2 = array1.findIndex((element, index, array) => {
	console.log(element, index, array);
	return element===8;
})
//5 0 (5) [5, 12, 8, 130, 44]
//12 1 (5) [5, 12, 8, 130, 44]
//8 2 (5) [5, 12, 8, 130, 44]
console.log(index2); // 2

filter

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. 만족하는 결과가 없는 경우 빈 배열 [] 을 반환합니다.

const numbers = [1, 2, 3, 4, 5]; 
const result = numbers.filter(element => element > 3); 
console.log(result); // [4, 5]

const people = [
	{"name" : "김정환", "age" : 18},
	{"name" : "홍길동", "age" : 17},
	{"name" : "강감찬", "age" : 16},
	{"name" : "이순신", "age" : 15},
	{"name" : "아이유", "age" : 14}
]

const oldPeople = people.filter(element => element.age > 15);
console.log(oldPeople); //(3) [{…}, {…}, {…}]
//0: {name: '김정환', age: 18}
//1: {name: '홍길동', age: 17}
//2: {name: '강감찬', age: 16}

const youngPeople = people.filter(element => element.age < 14);
console.log(youngPeople); // []
다음 글: Javascript 성능 향상 코딩 팁 이전 글: Javascript 직렬화(serialization)

See Also