2017-12-21 2 views
0

配列2のすべての要素を持つ配列1の最初の要素を確認し、配列2の2番目の要素を確認するには、JS forループを使用しますか?またはJSメソッド?配列2のすべての要素で配列1の最初の要素をチェックし、次に配列2の2番目の要素を確認し、JS forループを使用する方法?またはJSメソッド?

var array1 = ['1','2','3','4','5','6','7'] 

var array2 = ['43','24','35','42','55','63','1'] 

したがって、上記のコードでは、我々は24等に対するアレイ1内の全ての要素、43に対する配列1のすべての要素をチェックする

出力は、任意のインスタンスに一致する配列1からインスタンスを削除することになります配列2に挿入して最後に追加します。だから、出力はuは単純なループまたはUでlodashライブラリを使用することができることを行うことができます

array1 = ['2','3','4','5','6','7', '1'] 
+3

? – gurvinder372

+0

出力は、配列2のインスタンスに一致するインスタンスをarray1から削除し、最後に追加します。出力はvar array1 = ['2'、 '3'、 '4'、 '5'、 '6'、 '7'、 '1']です。 – Leafyshark

+0

@MagicJSので、配列2にある要素が必要です最後に追加されますか? –

答えて

0

だろう:)

_.difference([2, 1], [2, 3]); 

// => [1] 
0

あなたが最初の配列にforEachを使用してこれを行うことができます。例えば

:あなたはarray1を反復処理し、各配列1要素の位置を検索この例では

array1.forEach(elem1 => { 
    var index = array2.indexOf(elem1); 
    if (index != -1) { 
    array2.splice(index, 1); 
    } else { 
    array2.push(elem1); 
    } 
}); 

。見つけたら削除されます。

0

array1の値を一意の配列と繰り返し配列に分離し、次に両方ともarray#concatに分離するためにarray#reduceを使用できます。

var array1 = ['1','2','3','4','5','6','7'], 
 
    array2 = ['43','24','35','42','55','63','1'], 
 
    set = new Set(array2); 
 
    
 
var result = array1.reduce((r,v) => (set.has(v) ? r.repeating.push(v) : r.unique.push(v), r), {unique:[], repeating:[]}); 
 

 
var output = result.unique.concat(result.repeating); 
 

 
console.log(output);
.as-console-wrapper { max-height: 100% !important; top: 0; }

また、他の配列の値をチェックするために array#includesを使用することができます。出力すべき

var array1 = ['1','2','3','4','5','6','7'], 
 
    array2 = ['43','24','35','42','55','63','1']; 
 
    
 
var result = array1.reduce((r,v) => (array2.includes(v) ? r.repeating.push(v) : r.unique.push(v), r), {unique:[], repeating:[]}); 
 

 
var output = result.unique.concat(result.repeating); 
 

 
console.log(output);
.as-console-wrapper { max-height: 100% !important; top: 0; }

関連する問題