freeCodeCamp中一些有趣的方法

1. 过滤对象(找到数组中(collection)与之(source)匹配对象,过滤掉数组中(collection)不匹配对象)

 1 function where(collection, source) {
 2   var arr = [];
 3   var keys = Object.keys(source);
 4   arr = collection.filter(function(item){
 5     for (var i = 0; i < keys.length; i++) {
 6       if ( !item.hasOwnProperty(keys[i]) || item[keys[i]] !== source[keys[i]]) {
 7         return false;
 8       }
 9     }
10     return true;
11   });
12   // What's in a name?
13   
14   return arr;
15 }
16 
17 where([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });
原文地址:https://www.cnblogs.com/JQstronger/p/freeCodeCamp.html