gpt4 book ai didi

javascript - 在 javascript 中查询数组以从中获取我想要的项目的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 21:32:16 26 4
gpt4 key购买 nike

我有一个像这样的数组(只有 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)
}
})

考虑到有 300 万个对象,而且我将一次性进行最多五十次比较,这是一个很大的循环。有更好的办法吗?

最佳答案

您可以使用纯 JavaScript

var wanted = items.filter( function(item){return (item.age==18);} );

如果您的浏览器不支持 1.6 版本的 javascript,您可以在 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter 找到过滤器方法的实现。

<小时/>

更新

速度方面,与正常循环有 巨大 变化(测试中出现错误)差异(取决于浏览器)..看看我在http://jsperf.com/array-filter-vs-loop/3做的这个小测试。

关于javascript - 在 javascript 中查询数组以从中获取我想要的项目的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5257786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com