[英]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.