Young's Today
자바스크립트 - 메서드 (find / findIndex / every / some) 본문
Coding Language/Javascript
자바스크립트 - 메서드 (find / findIndex / every / some)
Young's Today 2023. 1. 2. 23:59(1) find
- 배열의 요소를 순차적으로 순회하면서 조건에 일치하는 요소의 값을 즉시 반환
- 조건에 만족하는 값이 여러개가 있더라도 첫번째 값만 확인 가능
- 조건에 일치하는 경우가 없다면 undefinded 반환
arr.find(callback(element, index, array), thisArg)
- arr : 순회하고자 하는 배열
- element : 현재 배열 요소
- index : 현재 배열 요소의 index (생략 가능)
- array : 함수를 호출한 배열 (생략 가능)
- thisArg : callback을 실행할 때 this로 사용되는 값 (=map 함수에서 사용될 this값) (생략 가능)
- 예시 (조건에 일치하는 배열이 있는 경우)
let exam = [
{name: 'A', age: 12},
{name: 'B', age: 87},
{name: 'C', age: 42},
{name: 'D', age: 59},
{name: 'E', age: 34}
];
let result = exam.find(function(data){
return data.name === 'C'});
console.log(result);
// 출력 { name: 'C', age: 42 }
- 예시 (조건에 일치하는 배열이 없는 경우)
let exam = [
{name: 'A', age: 34},
{name: 'B', age: 87},
{name: 'C', age: 42},
{name: 'D', age: 59},
{name: 'E', age: 34}
];
let result = exam.find(function(data){
return data.name === 'H'});
console.log(result);
// 출력 undefinded
- 예시 (동일한 값이 존재하는 경우)
let exam = [
{name: 'A', age: 34},
{name: 'B', age: 87},
{name: 'C', age: 42},
{name: 'D', age: 59},
{name: 'E', age: 34}
];
let result = exam.find(function(data){
return data.age === 34
});
console.log(result);
// 출력 {name: 'A', age: 34}
(2) findIndex
- 배열의 요소를 순차적으로 순회하면서 조건에 일치하는 요소의 인덱스를 반환
- 조건에 일치하는 경우가 없다면 -1 반환
arr.findIndex(callback(element, index, array), thisArg)
- arr : 순회하고자 하는 배열
- element : 현재 배열 요소
- index : 현재 배열 요소의 index (생략 가능)
- array : 함수를 호출한 배열 (생략 가능)
- thisArg : callback을 실행할 때 this로 사용되는 값 (=map 함수에서 사용될 this값) (생략 가능)
- 예시 (조건에 일치하는 인덱스가 있는 경우)
let exam = [
{name: 'A', age: 34},
{name: 'B', age: 87},
{name: 'C', age: 42},
{name: 'D', age: 59},
{name: 'E', age: 34}
];
let result = exam.findIndex(function(data){
return data.name === 'E'});
console.log(result);
// 출력 4
// 4번째 index에 있다는 의미
- 예시 (조건에 일치하는 인덱스가 없는 경우)
let exam = [
{name: 'A', age: 34},
{name: 'B', age: 87},
{name: 'C', age: 42},
{name: 'D', age: 59},
{name: 'E', age: 34}
];
let result = exam.findIndex(function(data){
return data.name === 'H'});
console.log(result);
// 출력 -1
(3) every
- 주어진 조건을 배연 안의 모든 요소가 통과하는 여부를 불리언 값으로 반환
- 빈 배열에서 호출하는 경우 무조건 true 반환
arr.every(callback(element, index, array), thisArg)
- arr : 순회하고자 하는 배열
- element : 현재 배열 요소
- index : 현재 배열 요소의 index (생략 가능)
- array : 함수를 호출한 배열 (생략 가능)
- thisArg : callback을 실행할 때 this로 사용되는 값 (생략 가능)
- 예시
let arr1 = [1,2,3,4,5];
let arr2 = [2,4,6,8,10];
let exam1 = arr1.every(element => {
return element % 2 === 0
})
console.log(exam1); // 출력 false
let exam2 = arr2.every(element => {
return element % 2 === 0
})
console.log(exam2); // 출력 true
(4) some
- 주어진 조건을 배열 안의 어떤 요소라도 통과하는지 테스트하고 그 결과를 불린 값으로 반환
- 빈 배열을 호출하면 무조건 false를 반환
arr.some(callback(element, index, array)[, thisArg])
- arr : 순회하고자 하는 배열
- element : 현재 배열 요소
- index : 현재 배열 요소의 index (생략 가능)
- array : 함수를 호출한 배열 (생략 가능)
- thisArg : callback을 실행할 때 this로 사용되는 값 (생략 가능)
- 예시
var arr1 = [1,2,3,4,5];
var arr2 = [1,3,5,7,9];
let exam1 = arr1.some(element => {
return element % 2 === 0
})
console.log(exam1); // 출력 true
let exam2 = arr2.some(element => {
return element % 2 === 0
})
console.log(exam2); // 출력 false
'Coding Language > Javascript' 카테고리의 다른 글
딥다이브 2. 자바스크립트란 (2) | 2023.04.28 |
---|---|
딥다이브 1. 프로그래밍이란 (0) | 2023.04.21 |
자바스크립트 - 메서드 (map / filter / reduce / repeat) (1) | 2023.01.02 |
자바스크립트 - 객체/리터럴 (0) | 2022.11.25 |
자바스크립트 - Promise (0) | 2022.11.25 |