javascript - array.forEach 之后的回调函数

标签 javascript arrays foreach

我有一个比较 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 forEachindexOf() 的末尾为每个字母返回 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/

相关文章:

javascript - 以编程方式触发 &lt;input type ="file"> 文件选择

java - 循环内的ArrayList

C strcmp 将字符串与数组的前 x 个字符进行比较

arrays - 给定 "source code"字符串列表,如何创建数组组合字符串?

Array 方法中的 Javascript 循环

IE8 中的 Javascript 顶级变量

javascript - jQuery 表单验证无法正常工作

javascript - PHP文件返回整个文件

c# - 通过 ListView 进行 foreach 并访问子项?

c# - 如何获取 foreach 循环当前迭代的索引?