[TIS]알고리즘공부_isArrayInArray

Violet Lee·2020년 11월 11일
0

javascript

목록 보기
23/24

어떤 단일배열에 다른 배열의 요소가 모두 포함이 되어있는지의 여부를 작성하는 프로그램을 만들다가 이중배열 안에서 어떤 단일배열이 포함되어있는지를 판단하는 코드를 알게되어 리뷰를 해보겠다.

var myArray = [
    [1,0],
    [1,1],
    [1,3],
    [2,4]
]

let base = [2,4,6,8,10];
let sample = [1,4];
//array.find(): find()메소드는,해당 x인 myArray의 각 요소에 대해 callback함수를 실행한다.
//만약 요소를 찾으면(true이면)그 값을 즉시 반환해준다. 만약 this가 주어져있으면 콜백안에서 this로 사용될테고, 
//아니면 undefined가 this로 사용이 된다. 일단 값을 못찾으면 false가아닌 undefined리턴됨.
function isArrayisArray(x, check){
    let result = x.find(function(el){ //true에 해당하는 배열을 리턴해준다.
        return (JSON.stringify(el) === JSON.stringify(check)); //이중 배열안에 특정배열이 있는지 확인할때 쓰는코드. 
      //문자열화하여 요소를 비교할수있음. 같은 1차원배열이라면 비교할 x의 요소가 단일요소가 되버리니까 쓰지못함.
    })
    return result != null; //여기서 find()메소드 사용 특성상 true값 아니면 undefined가 나오는것을, 
  //!= null 코드를 이용해 false가 나오게 해준다.
}
console.log(isArrayisArray(myArray, sample));

오늘의 할일:
누가봐도 밀린 til 어느정도 쓰기!!

profile
예비개발자

0개의 댓글