freeCodeCamp:Where art thou

1884 단어
대상 그룹 (첫 번째 파라미터) 을 훑어보고 일치하는 속성 - 값 쌍 (두 번째 파라미터) 을 포함하는 모든 대상의 그룹을 되돌려주는 function을 씁니다.되돌아오는 그룹에 소스 대상의 속성 - 값 쌍이 포함되어 있다면, 이 대상의 모든 속성 - 값 쌍은collection의 대상에 존재해야 합니다.
예를 들어 첫 번째 파라미터가 [{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }]이고 두 번째 파라미터가 { last: "Capulet" }라면 두 번째 파라미터로 전달되는 속성-값 쌍을 포함하기 때문에 그룹(첫 번째 파라미터)에서 세 번째 대상을 되돌려야 한다.
function where(collection, source) {
  var arr = [];
  var keys = Object.keys(source);
  arr = collection.filter(function(item){
    for (var i = 0; i < keys.length; i++) {
      if ( !item.hasOwnProperty(keys[i]) || item[keys[i]] !== source[keys[i]]) {
        return false;
      }
    }
    return true;
  });
  return arr;
}

where([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });

 
전재 대상:https://www.cnblogs.com/baidx/p/whereartthou.html

좋은 웹페이지 즐겨찾기