2つの配列を比較し、trueまたはfalseを返します

Jaxie:

私はJavaScriptにちょっと新しいですし、私はこれを行う方法を見つけ出す傾けます。

だから、私はこの(csvファイルから)配列1を持っています

 [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {Number: 1}
1: {Number: 2}
2: {Number: 3}
3: {Number: 64}
4: {Number: 65}
5: {Number: 66}
6: {Number: 67}

(他のCSVから)アレイ2

 [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {Number: 1}
1: {Number: 2}
2: {Number: 3}
3: {Number: 11}
4: {Number: 12}
5: {Number: 13}
6: {Number: 14}

今、私は重複を見つけるなどcsvファイルを生成します:

 [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {Number: 1, Result: "Not Ok"}
1: {Number: 2, Result: "Not Ok"}
2: {Number: 3, Result: "Not Ok"}
3: {Number: 11, Result: "Ok"} 

私はそれを得たコードが「OKでない」を追加し、私は最後の部分で立ち往生しています。

for (var i = 0; i < array1.data.length; i++) {
          for (var j = 0; j < array2.data.length; j++) {
                 if (array1.data[i].Number=== array2.data[j].Number) {
                    array2.data[j].result= [],
                    array2.data[j].result.push("Not OK")
                 }
          }
}

ここにいくつかの助けが必要!

ニーナショルツ:

あなたは取ることができるSet最初の配列のすべての値について、その後、値をチェックすることにより、第2のマッピング。

var array1 = [{ Number: 1 }, { Number: 2 }, { Number: 3 }, { Number: 64 }, { Number: 65 }, { Number: 66 }, {  Number: 67 }],
    array2 = [{ Number: 1 }, { Number: 2 }, { Number: 3 }, { Number: 11 }, { Number: 12 }, { Number: 13 }, {  Number: 14 }],
    set1 = new Set(array1.map(o => o.Number)),
    result = array2.map(o => ({ ...o, Result: set1.has(o.Number) ? 'Not Ok' : 'Ok' }));

console.log(result);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=283308&siteId=1