Wherefore art thou

数组中的元素是对象,给定值是个对象

元素要包含给定对象的所有属性

function whatIsInAName(collection, source) {
  return collection.filter(obj=> {//返回满足条件的元素
    return Object.entries(source).every(arr=> {//给定值有多个,都要包含
      return obj.hasOwnProperty(arr[0]) && obj[arr[0]]=== arr[1]//元素值包含给定值吗
    })
  })
}

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