###実現したいこと
以下aとbから重複を削除して
result = ["a", "イヌ", "ネコ", "b", "c"]
を得たいです。
js
1var a = [ 'a', 'イヌ', 'ネコ', 'b' ]; 2var b = [ 'c', 'ネコ', 'イヌ' ];
まずaを全てresultに追加し、bの方はaにすでにあればresultには追加しない、という流れです。
###発生している問題
result = ["a", "イヌ", "ネコ", "b", "c", "c", "c", "c"]
となってしまい、cが追加され続けてしまいます。
ループで比較していますが、breakで抜けることができないせいでしょうか?
###該当のソースコード
js
1var a = [ 'a', 'イヌ', 'ネコ', 'b' ]; 2var b = [ 'c', 'ネコ', 'イヌ' ]; 3var result = [], ai, bi; 4 5for ( ai=0; ai<a.length; ai++ ) { 6 result.push( a[ai] ); 7} 8 9for ( ai=0; ai<a.length; ai++ ) { 10 for ( bi=0; bi<b.length; bi++ ) { 11 if ( a[ai] !== b[bi] ) { 12 result.push( b[bi] ); 13 break; 14 } 15 } 16} 17 18console.log( result );
###試したこと
forが2回あるから break 2; にしてみたり、または return; とかを試したのですができません。
特殊な方法が必要でしょうか?
jQueryでも構わないので、解決策をご指南頂けましたら幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/09 08:26
2020/04/09 08:28
2020/04/09 08:31
2020/04/09 08:41