我有一个比较2个字符串数组的函数...例如['snookums', '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"]));
这有意义吗?
谢谢
答案 0 :(得分:5)
forEach
不 a&#34;更好&#34;办法。您要找的是every
method:
function mutation(arr) {
return arr[1].split("").every(function(letter) {
return arr[0].indexOf(letter) !== -1;
});
}