我有一个比较 2 个字符串数组的函数...例如 ['snokums', 'snook']
,如果第二个字符串中的所有字母都出现,它看起来会返回 true在第一个例子中,因此在本例中,它应该返回 true。
我让它与 for 循环一起工作:
function mutation(arr) {
for (var i = 0; i < arr[1].length; i++) {
if (arr[0].indexOf(arr[1][i]) === -1) {
return false;
}
}
return true;
});
}
但是,我希望以更好的方式使其工作,最终使用 forEach。如果遇到不匹配的字母,我让它控制台注销 false
,但我想知道这是否有效,如果它到达,我将如何返回 true
forEach
和 indexOf()
的末尾为每个字母返回 true
。
function mutation(arr) {
return arr.pop()
.split('')
.forEach(function(letter) {
console.log(arr[0].indexOf(letter) === -1);
});
}
console.log(mutation(["snookums", "for"]));
这有意义吗?
谢谢
最佳答案
forEach
并不是“更好”的方式。您正在寻找的是every
method :
function mutation(arr) {
return arr[1].split("").every(function(letter) {
return arr[0].indexOf(letter) !== -1;
});
}
关于javascript - array.forEach 之后的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35654607/