2016-09-25 114 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