gpt4 book ai didi

javascript - 有限制的 Lodash 过滤器

转载 作者:行者123 更新时间:2023-11-29 15:26:12 25 4
gpt4 key购买 nike

有没有办法从符合条件的数组中过滤前 n 个元素?

我知道您可以filter 然后调用take 但是这不是遍历整个列表而不是在达到限制后退出吗?

_(books).filter(function(book) {return book.pages > 10}).take(5).value();

最佳答案

如果传递给 _.forEach() 函数的迭代器函数返回 false,则迭代立即停止。

以下 filter 函数说明了如何使用 _.forEach() 来解决您的用例。

function filter(books, maxCount) {
var results = [];
_.forEach(books, function(book) {
if (results.length === maxCount) {
return false;
}
if (book.pages > 10) {
results.push(book);
}
});
return results;
}


var N = 5;
var books = new Array(20);

// Give each book a page count equal to its books index.
_.forEach(books, function(v, i) {books[i] = {pages: i}});

console.log(filter(books, N));
<script src="https://cdn.jsdelivr.net/lodash/4.15.0/lodash.min.js"></script>

关于javascript - 有限制的 Lodash 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38923659/

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