javascript-对象搜索算法挑战

Posted 苦逼成长印记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript-对象搜索算法挑战相关的知识,希望对你有一定的参考价值。

对象搜索算法挑战

function where(collection, source) {
var arr = [];
var status = null;
// What‘s in a name?
for (var i = 0; i < collection.length; i++) {
    for(var imp in source){
        if (source[imp] !== collection[i][imp]) {
            status = 0;
            break;
        }
        status = 1;
    }
    if(status == 1){
        arr.push(collection[i]);
    }
}
return arr;
}

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

这样写会不会比使用下面这种好点

function where(collection, source) 
{ var arr = [], index = 0; // What‘s in a name? 
// console.log(Object.getOwnPropertyNames(source).length); 
//获取对象属性个数 
for (; index < collection.length; index++) { 
    for (var key in collection[index]) { 
        var count = 0; 
        for (var key2 in source) { 
            if (collection[index].hasOwnProperty(key2)) { 
                if (source[key2] == collection[index][key2]) { 
                    count++; 
                } 
                if (count == Object.getOwnPropertyNames(source).length && key == key2) { 
                    arr.push(collection[index]); 
                } 
            } 
        } 
    } 
} 
return arr; 
}

 

以上是关于javascript-对象搜索算法挑战的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

搜索推荐算法挑战赛OGeek-完整方案及代码(亚军)

挑战程序设计竞赛(算法和数据结构)——9.3二叉搜索树搜索的JAVA实现

挑战程序设计竞赛(算法和数据结构)——12.4广度优先搜索的JAVA实现

从搜索文档中查找最小片段的算法?

javascript算法挑战