find() 함수를 사용하면, for문을 따로 사용하지 않고도 중복되는/겹치는/같은 값이 있는지 확인 할 수 있다.
* 조건에 해당하는 값이 여러개여도, 가장 처음 값을 반환한다. 없을 경우엔 undefined를 반환한다.
* find를 사용할 변수는 배열이여야 한다.
= ex ] ========================================================================
let first = [1, 2, 3, 4, 5]
let second = 3
console.log(first.find(element => element > second));
결과 : 4
============================================================================
find() 안에 find() 사용하기
[조건]
- 배열 안에 배열(array2)이 존재하는 상황.
- 배열 안에 문자열(array1)이 "hello"이면서 for문의 숫자 값이랑 겹치지 않을 경우 for문 출력
= ex ] ========================================================================
let input = [{
array1 : "hello",
array2 : [1, 3, 5, 7, 9, 12]
}];
① < ES6
for(var a=0; a<5; a++){
if(
input.find(
function (element) {
var hi = element.array2.find( function (el) {
return (el == a);
})
return element.array1 === "hello" && hi !== undefined;
})
){
continue;
}
console.log(a);
}
② ES6
for(var a=0; a<5; a++){
if( input.find( element => element.array1 === "hello" && element.array2.find( el => el == a ) !== undefined ) ){
continue;
}
console.log(a);
}
결과 : 0 2 4
============================================================================
출처 && 테스트 :
Array.prototype.find() - JavaScript | MDN
find() 메서드는 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환합니다. 그런 요소가 없다면 undefined를 반환합니다.
developer.mozilla.org
'코-딩 > Javascript' 카테고리의 다른 글
Javascript - blob & UTF-8 (0) | 2022.04.14 |
---|---|
JavaScript - image src (0) | 2022.03.31 |
Javascript - DOMParser, fetch (0) | 2022.03.29 |
getElementsByTagName() / querySelectorAll() (0) | 2022.01.19 |
Array.prototype.splice() (0) | 2022.01.12 |