gpt4 book ai didi

javascript - javascript 中是否有与 ruby​​ any 方法等效的方法?

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

是否有与 ruby​​ 的数组 any 方法等效但在 javascript 中的方法?我正在寻找这样的东西:

arr = ['foo','bar','fizz', 'buzz']
arr.any? { |w| w.include? 'z' } #=> true

我可以使用 javascript 的 forEach 方法获得类似的效果,但它需要遍历整个数组,而不是像 ruby​​ 的 any 那样在找到匹配值时进行短路方法确实如此。

var arr = ['foo','bar','fizz', 'buzz'];
var match = false;
arr.forEach(function(w) {
if (w.includes('z') {
match = true;
}
});
match; //=> true

如果我真的想短路,我可以使用 for 循环,但它真的很难看。这两种解决方案都非常冗长。

var arr = ['foo','bar','fizz', 'buzz'];
var match = false;
for (var i = 0; i < arr.length; i++) {
if (arr[i].includes('z')) {
match = true;
i = arr.length;
}
}
match; //=> true

有什么想法吗?

最佳答案

您正在寻找 Array.prototype.some方法:

var match = arr.some(function(w) {
return w.indexOf('z') > -1;
});

在 ES6 中:

const match = arr.some(w => w.indexOf('z') > -1);

关于javascript - javascript 中是否有与 ruby​​ any 方法等效的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30992530/

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