我在使用我的.forEach
循环时遇到了一些麻烦。这里是我当前的代码:ES6 .forEach方法不循环数组?
let isPangram = (phrase) => {
let alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
alphabet.forEach(function(letter) {
if (phrase.toLowerCase().includes(letter)) {
alphabet.splice(alphabet.indexOf(letter), 1);
}
debugger;
});
if (alphabet.length === 0) {
return true;
}
else if (alphabet.length > 0) {
return false;
}
};
当我与debugger
控制台运行它,它似乎跳过一些字母像b
和c
。谁能告诉我这里发生了什么?
这是一个有趣的高尔夫练习:'让isPangram =短语=>新Set(phrase.toLowerCase()。match(/ [az]/g))。size === 26;':D – loganfsmyth
'return alphabet.every(letter => phrase.toLowerCase()。includes(letter)); 'https://jsfiddle.net/a5w5db66/ – pawel