2017-03-03 15 views
-1

この問題を解決するには問題があります。私は2つの配列の内容をお互いに比較したいと思います。彼らが===そうでなければifステートメントを実行し、そうでなければelseステートメントを実行したいと思います。これまでのところ動作しますが、ifとelseが発生し、1つだけではありません。入れ子のループを使用して問題が発生しました

<% for (var i = 0; i < match.interests.length; i++) { %> 
    <% for (var j = 0; j < user.interests.length; j++) { %> 
     <% if (match.interests[i] === user.interests[j]) { %> 
      <li class="tag positive"><%= match.interests[i] %></li> 
     <% } else {%> 
      <li class="tag"><%= match.interests[i] %></li> 
     <% } %> 
    <% } %> 
<% } %> 
+1

あなたが両方発生していない唯一の何を意味するのですか?あなたは両方ともネストされたループの同じ繰り返しで起こっていると言っていますか(それは不可能でしょう)? –

+0

配列a = ['Code'、 'JS']配列b = ['Code']このスクリプトの結果は以下の通りです:コードコードJSとコードJS @DylanHamilton –

+0

ifとelseの中でブレークを使用する文 –

答えて

1

平等チェックは問題ありません。なぜなら、あなたは常にelseステートメントに何かを記録しているからです。

console.clear(); 
 

 
const match = { 
 
    interests: [ 
 
    'Code', 
 
    'JS' 
 
    ], 
 
}; 
 

 
const user = { 
 
    interests: [ 
 
    'Code', 
 
    'Apples', 
 
    'Skiing' 
 
    ], 
 
}; 
 

 
const output = []; 
 

 
for (let i = 0; i < match.interests.length; i++) { 
 
    for (let j = 0; j < user.interests.length; j++) { 
 
    console.log('loop') 
 
    if (match.interests[i] === user.interests[j]) { 
 
     console.log('MATCH'); 
 
     output.push(match.interests[i]); 
 
    } else { 
 
     console.log('DOESN\'T MATCH'); 
 
     output.push(match.interests[i]); 
 
    } 
 
    } 
 
} 
 

 
console.log(output);

次のコードの出力を参照してください、あなたはあなたが望むものを出力決めると、あなたのループを調整する必要に応じて

関連する問題