簡體   English   中英

我如何在 JavaScript 中加入兩個 object arrays?

[英]How can I inner join with two object arrays in JavaScript?

我需要像這樣在 javascript 中與兩個數組進行內部連接:

    
    array1 = 
    [
      {
        "id": 1,
        "name": "Tufan"
      },
      {
        "id": 2,
        "name": "Batuhan"
      },
      {
        "id": 3,
        "name": "Hasan"
      }
    ]
    
    array2 = 
    [
      {
        "name": "yyy",
        "externalid": "1",
        "value": "Asd"
      },
      {
        "name": "aaaa"
        "externalid": "2",
        "value": "ttt"
      }
    ]
    
    expectedArray = 
    [
      {
        "id": 1,
        "name": "Tufan",
        "externalid": "1",
        "value": "Asd"
      },
      {
        "id": 2,
        "name": "Batuhan",
        "externalid": "2",
        "value": "ttt"
      }
    ]

規則:

  1. on: array2.externalid = array1.id
  2. select: array1.id, array1.name, array2.externalid, array2.value

我的方法:

array1.filter(e => array2.some(f => f.externalid == e.id));
// I need help for continue

我該怎么做?

無所謂信息:我用ES5和純javascript

你可以這樣做:

const res = array2.map((item) => {
  const related = array1.find((el) => el.id == item.externalid);
  return { ...item, ...related };
});

使用 map 遍歷 array2 並使用 find 獲取 array1 相對值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM