我试图检查数组的第一个元素是否包含数组第二个元素的所有字母。但它在这些给定的属性上无法正常工作。我无法找到我在哪里犯错?
function mutation(arr) {
var first = arr[0].toLowerCase();
var second = arr[1].toLowerCase();
for(i = 0; i<second.length; i++){
return first.indexOf(second[i]) !== -1 ? true : false;
}
}
mutation(["hello", "hey"]);
&#13;
答案 0 :(得分:0)
您使用的条件不正确。您应该检查第二个元素的所有字符是否都包含在第一个元素中。因此,您必须检查第二个元素字符的每个字符的第一个元素上调用的indexOf是否返回true。如果是这样,那么第二个元素的所有字符确实都包含在第一个元素中。否则就是假的。
你可以试试这个:
function mutation(arr) {
var first = arr[0].toLowerCase();
// we use split to get an array of the characters contained in the second element
var second = arr[1].toLowerCase().split('');
return second.every(character=>first.indexOf(character)>-1)
}
console.log(mutation(["hello", "hey"]));
console.log(mutation(["hello", "heo"]));
&#13;