【发布时间】:2011-03-10 09:37:33
【问题描述】:
我有一个这样的数组(只有 3000 多个对象,而不是这里的 3 个):
items = [{name:'charlie', age:'16'}, {name:'ben', age:'18'}, {name:'steve', age:'18'}]
返回仅包含 18 岁人群对象的数组的最佳方法是什么?所以我想要:
items = [{name:'ben', age:'18'}, {name:'steve', age:'18'}]
我能想到的最好的就是这个(使用 jQuery):
newArray = []
$.each(items, function(index, item) {
if(item.age=='18') {
newArray.push(item)
}
})
考虑到有 3000,000 个对象,而且我一次要进行多达 50 次比较,这需要大量循环。有没有更好的办法?
【问题讨论】:
-
为了进一步澄清,我在从数据库加载初始页面时创建了这个数组。在整个体验过程中都需要相同的信息,所以我认为从这个数组访问它可能比每次都调用回数据库更快。无论如何,我一开始就需要它,所以我猜这是有道理的。如果有更好的方法,请纠正我。
-
肯尼:你看过@david的解决方案了吗!!?!?
标签: javascript jquery arrays