2016-09-25 8 views
0

"配列の最初の要素の文字列に配列の2番目の要素の文字列のすべてが含まれている場合はtrueを返します。 何らかの理由で(["hello"、 "hey"]を除く)他のすべてのチェックポイントを渡すことができます。任意のヒント?配列内の2つの文字列を比較して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

アイデアは、それがfirstIndexに含まれているかどうかを確認するためにsecondIndex内の各文字をチェックすることです。したがって、論理は次のようになります。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 **** INGのJS最小の細部が重要です。本当にありがとう!!!! –

+0

ここで、 'secondIndex'の文字の代わりに' arr'をループしていたというように、修正が必要なことがいくつかありました。また、あなたのロジックは、「それぞれの文字をループし、一致するものが見つかるとtrueを返しますが、最初に一致しないものを見つけたらfalseを返します。あなたのプロジェクトに幸運を祈る! – Howzieky

関連する問題