array.forEach之后的回调函数

Callback function after array.forEach

本文关键字:回调 函数 之后 forEach array      更新时间:2023-09-26

我有一个函数可以比较 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,但我想知道这会起作用,如果它到达forEach末尾并且indexOf()返回每个字母的true,我将如何返回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方法:

function mutation(arr) {
    return arr[1].split("").every(function(letter) {
        return arr[0].indexOf(letter) !== -1;
    });
}