有没有相当于
ruby的任何数组方法,但在
javascript中?我在寻找这样的东西:
arr = ['foo','bar','fizz','buzz'] arr.any? { |w| w.include? 'z' } #=> true
我可以使用javascript的forEach方法获得类似的效果,但它需要遍历整个数组而不是短路,当找到匹配值时,就像ruby的任何方法一样.
var arr = ['foo','buzz']; var match = false; arr.forEach(function(w) { if (w.includes('z') { match = true; } }); match; //=> true
如果我真的想要短路,我可以使用for循环,但它真的很难看.这两种解决方案都非常冗长.
var arr = ['foo','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; });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。