我有兩個物件陣列(每個陣列中有 10 個物件)->
arr1 = [{name: '', age: ''}...]
和
arr2 = [{surname: '', position: ''}...]
我持有兩種不同的狀態。我的目標是創建物件的第三個陣列,其中也包含 10 個元素
arr3=[{name: arr1.name, surname: arr2.surname}...]
我怎樣才能做到這一點 ?
uj5u.com熱心網友回復:
只要它是每個索引匹配的 1 到 1,它就是一個簡單的 Array 映射并使用傳播來復制屬性和值。
const arr1 = [{a: 1, b: 2}, {a: 3, b: 4}];
const arr2 = [{c: 11, d: 22}, {c: 33, d: 44}];
const arr3 = arr1.map((obj, ind) => ({...obj, ...arr2[ind]}), []);
console.log(arr3);
uj5u.com熱心網友回復:
這是你需要的,
let arr3 = []
arr1.forEach((obj1, index) => {
let obj3 = {...obj1, ...arr2[index]}
arr3.push(obj3)
})
uj5u.com熱心網友回復:
如果假設兩個陣列之間的索引匹配(這也意味著兩個陣列的長度相同),則可以在一個陣列上使用map()并使用其索引引數來參考另一個陣列。(哪個并不重要。)
例如:
const arr3 = arr1.map((a, i) => ({
name: a.name,
surname: arr2[i].surname
}));
請注意,這是基于所示示例,其中結果物件中只有兩個屬性(每個陣列中的一個)。如果您想要結果物件中的所有屬性,則無需指定所有屬性。您可以將它們全部組合起來:
const arr3 = arr1.map((a, i) => ({
...a,
...arr2[i]
}));
uj5u.com熱心網友回復:
const arr3 = []
for (let i = 0; i < arr1.length; i ) {
arr3[i] = {
name: arr1[i].name,
surname: arr2[i].surname
}
}
uj5u.com熱心網友回復:
我不知道你想做什么,但我認為這個問題已經回答了好幾次了。
你想做 arr1 arr2 嗎?就像他們在 array3 中互相跟隨一樣?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/476981.html
標籤:javascript 数组
