2016-09-25 81 views
0

“如果数组第一个元素中的字符串包含数组第二个元素中的所有字母,则返回true。 出于某种原因,除了([“hello”,“hey”])之外,我可以通过其他任何检查点。有小费吗?比较数组中的两个字符串以匹配J.S

function mutation(arr) { 
    var firstIndex = arr[0].toLowerCase(); 
    var secondIndex = arr[1].toLowerCase(); 

    for(var i = 0; i < arr.length; i++) { 
    if(firstIndex.indexOf(secondIndex.charAt(i)) !== -1) { 
     return true; 
    } 
    else { 
     return false; 
    } 
    } 
    return arr; 
} 

mutation(["hello", "hey"]); 
+0

[如何在JavaScript中比较数组?](http://stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript) –

回答

0

的想法是要检查每一个字符secondIndex,看它是否包含在firstIndex。所以这里的逻辑将是:对于secondIndex中的任何字符,如果该字符不在firstIndex中,则返回false(结束该函数)。如果该功能在检查完所有字符后没有结束,则知道每个字符都在firstIndex中找到,然后可以返回true。

function mutation(arr) { 
    var firstIndex = arr[0].toLowerCase(); 
    var secondIndex = arr[1].toLowerCase(); 

    for(var i = 0; i < secondIndex.length; i++) { 
    if(firstIndex.indexOf(secondIndex[i]) === -1) { 
     return false; 
    } 
    } 
    return true; 
} 

mutation(["hello", "hey"]) 
+0

˚F****荷兰国际集团的可能的复制JS最小的细节问题。非常感谢!!!! –

+0

哈哈有一些事情需要修正,比如你正在通过'arr'而不是'secondIndex'中的字符循环。此外,你的逻辑是说:“遍历每个字符,如果我们找到匹配的字符,返回true,但如果我们找到一个不匹配的字符,返回false。”祝你的项目好运! – Howzieky