알고리즘 - freeCodeCamp - Everything Be TruePassed

NO PAIN, NO GAIN·2019년 12월 15일
0

algorithm

목록 보기
16/18

문제

collection에서 pre키를 가지고 있는지 확인하고 Boolean형태로 반환하시오.

예시

truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex") --> true.
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex") --> false.
truthCheck([{"user": "Tinky-Winky", "sex": "male", "age": 0}, {"user": "Dipsy", "sex": "male", "age": 3}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age") --> false.
truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true}, {"name": "FastFoward", "onBoat": null}], "onBoat") --> false
truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true, "alias": "Repete"}, {"name": "FastFoward", "onBoat": true}], "onBoat") --> true
truthCheck([{"single": "yes"}], "single") --> true
truthCheck([{"single": ""}, {"single": "double"}], "single") --> false
truthCheck([{"single": "double"}, {"single": undefined}], "single") --> false
truthCheck([{"single": "double"}, {"single": NaN}], "single") --> false

풀이

function truthCheck(collection, pre) {
  // Is everyone being true?
  for (let i = 0; i < collection.length; i++) {
    if (!collection[i][pre]){
      return false;
    }
  }
  return true;
}

매개변수 collection에는 같은 형태의 객체가 여러개 담긴 배열이 들어온다. precollectionkey가 있는지, keyvalue0(숫자),NaN,undefined,"",null인지 확인한다. 확인한 결과값을 Boolean형태로 반환한다.

profile
갈고 닦자.

0개의 댓글