【发布时间】:2022-01-07 16:18:25
【问题描述】:
我正在尝试遍历一个数组,如果有任何匹配的元素,它应该将 true 推送到一个新数组,否则返回 false。
const wordPerformance = []
const wordsReviewed = "candy, cattle, cat, call, cheat";
const wordsIncorrect = "candy, cattle, call, cheat";
wordsReviewed.split(/,\s?/).forEach((word) => {
if (wordsIncorrect.includes(word)) {
wordPerformance.push(false);
} else {
console.log(word) //unreachable, though 'cat' should be logged
wordPerformance.push(true);
}
});
console.log(wordPerformance);
按照这个逻辑,wordPerformance 应该返回
[false, false, true, false, false]
但是,它正在返回
[false, false, false, false, false]
也许有些东西我没看到?
【问题讨论】:
-
"cat" 包含在 "cattle" 中。您没有测试绝对单词匹配,只是存在子字符串
标签: javascript arrays loops if-statement foreach