본문 바로가기
코-딩/Javascript

Array.prototype.find()

by ㅋㅂㅋ 2022. 1. 12.

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