簡體   English   中英

如何將兩個 arrays 與 javascript 中的新屬性合並

[英]How to merge two arrays with new property in javascript

如何在 javascript 中合並兩個 arrays。我試過但沒用。 如何添加詳細信息等新屬性以及如何在單個數組中合並

演示: https://stackblitz.com/edit/js-6cfbaw

例子:

var array1 = [
  {
    id: 1,
    name: "Zohn",
  },
];

var array2 = [
  {
    name: "Zohn",
    address: "Test1",
  },
  {
    name: "Zohn Peter",
    address: "Test2",
  },
  {
    name: "Peter Mark",
    address: "Test3",
  },
];

var array3 = [...array1, ...array2];

Output array3 應該是:

[
  {
    id: 1,
    name: "Zohn",
    details: [
      {
        name: "Zohn Zeo",
        address: "Test1",
      },
      {
        name: "Zohn Peter",
        address: "Test2",
      },
      {
        name: "Peter Mark",
        address: "Test3",
      },
    ],
  },
];

無需合並 arrays,您只需將屬性添加到array1的第一個元素。

 var array1 = [ { id:1, name:"Zohn" } ] var array2 = [ { name:"Zohn", address:"Test1" }, { name:"Zohn Peter", address:"Test2" }, { name:"Peter Mark", address:"Test3" } ] array1[0]['details'] = array2 console.log(array1)

我希望這段代碼可以幫助你。

 var array1 =[]; var itemOfArray= { id:1, name:"Zohn", details: [ ] }; var array2 = [ { name:"Zohn", address:"Test1" }, { name:"Zohn Peter", address:"Test2" }, { name:"Peter Mark", address:"Test3" } ] itemOfArray['details']=array2; array1.push(itemOfArray); console.log(array1);

試試這個例子

 var array1 = [ { id: 1, name: "Zohn", }, ]; var array2 = [ { name: "Zohn", address: "Test1", }, { name: "Zohn Peter", address: "Test2", }, { name: "Peter Mark", address: "Test3", }, ]; const output = array1.map((entry) => ({...entry, details: [...array2] })); console.dir(output, { depth: null, color: true });

如果要合並詳細信息,則必須為array2中array1的每條記錄保留一個引用,然后如下所示進行合並。

 var array1=[ { id:1, name:"Zohn" } ]; var array2=[ { array1Id: 1, name:"Zohn", address:"Test1" }, { array1Id: 1, name:"Zohn Peter", address:"Test2" }, { array1Id: 1, name:"Peter Mark", address:"Test3" } ]; var array3 = []; array1.forEach((entry) => { array3.push( { id: entry.id, name: entry.name, details: array2.filter((value) => { return value.array1Id == entry.id; }) } ); }); console.log(array3);

暫無
暫無

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

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