gpt4 book ai didi

javascript - 如何限制 array.filter 的 10 个结果?

转载 作者:数据小太阳 更新时间:2023-10-29 05:00:46 25 4
gpt4 key购买 nike

我有一个大数组,我想进行自动完成搜索,但我只想显示 10 个结果,所以在找到 10 个结果时停止遍历数组。我做了这个:

let items = array.filter(r => r.indexOf(term)!=-1);
console.log(items.length) // lots of items, need to be limited to 10

它有效,但我不知道如何在它达到所需限制时停止 array.filter

最佳答案

您可以使用另一个变量来跟踪到目前为止有多少项目符合条件,并在达到限制后始终返回 false。这是一个例子:

const arr = [1,0,2,0,3,0,4,5,6,7,8,9,10,11,12,13,14];
const filtered = arr.filter(function(item) {
if (this.count < 10 && item > 0) {
this.count++;
return true;
}
return false;
}, {count: 0});

console.log(filtered);

在这里,我使用对象 {count: 0} 作为回调函数的上下文。您可以找到更多关于 Array.filter from here 的信息

关于javascript - 如何限制 array.filter 的 10 个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56168771/

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