javascript - 为什么这种特定的突变会回归真实,而其他突变则不然?
问题描述
我正在应对来自 FCC 的挑战之一,我坚持这一突变。
FCC 经历了一系列其他突变,它们都恢复正确,但这个没有,我不知道为什么。
function mutation(arr) {
let arr1 = arr[1].toString().toLowerCase().split("");
let arr2 = arr[0].toString().toLowerCase();
for (let i = 0; i < arr2.length; i++) {
if (arr2.includes(arr1[i]) == false) {
return false
} else {
return true
}
}
}
console.log(
mutation(["hello", "hey"])
);
解决方案
请记住,当一个函数遇到带有 的行时return
,它会立即停止。
所以在这段代码中,arr1 是一个包含第二个单词的字母的数组,而 arr2 是一个包含第一个单词的字母的数组。然后循环查看 arr2 并检查 arr1 中的相应字母是否匹配。不管有没有,它都会立即返回,这意味着无论你给它什么输入,它只会检查单词的第一个字母是否匹配。
因此,在您的示例调用中,它将查看“hello”中的“h”,将其与“hey”中的“h”进行比较,并且由于它们匹配,它将返回 true 并停止检查。
推荐阅读
- php - 将付款意图存储在 Stripe php 上后,如何检索其净值
- node.js - 如何在 NodeJS 14 中快速将 128 位值加密为另一个等长值
- pytorch - 批量大小不匹配
- java - 在 char 数组上使用 XOR 来查找字符在字符串中是否唯一
- node.js - 无法在 Cygwin 中通过 nvm 安装节点
- python - 获取脚本python的最后执行时间
- css - 修改 CSS 中的一些属性以使按钮阴影自动发光,而不仅仅是在悬停时
- machine-learning - 多类文本分类(使用 TFIDF 和 SVM)。如何实现一个反馈可能属于多个类的场景?
- reference - 如何在单元测试项目中添加程序集引用?
- java - 具有该 ID 的元素已存在于数据库中