所以我有一個物件[{}, {}, {}]
陣列和簡單陣列[true, false, true]
有沒有辦法制作第一個陣列[{value: true}, {value: false}, {value: true}]?
我映射了物件陣列
const a = [{a: 1}, {a: 2}, {a: 3}] const b = [true, false, true] const c = a.map((item) => {...item, value: })
我不明白如何從第二個陣列中分配值。
uj5u.com熱心網友回復:
假設您的物件陣列被呼叫objects并且您的簡單陣列被呼叫array,那么您可以執行:
objects.forEach((o, i) => o['value'] = array[i])
uj5u.com熱心網友回復:
您可以將陣列的每個元素映射到物件:
console.log([true, false, true].map(el => ({ value: el })));
或者如果你想覆寫第一個陣列中的元素
const arr = [{}, {}, {}];
const arr2 = [true, false, true];
arr.forEach((el, idx) => el.value = arr2[idx]);
console.log(arr);
uj5u.com熱心網友回復:
完成此操作的另一種方法是使用unshift()將新元素添加到陣列開頭的方法。
var arr1 = [true, false, true], arr2 = [{}, {}, {}];
for(el of arr1){ arr2.unshift({'value': el}) }
console.log(arr2);
如果要釋放陣列中的最后三個空物件,請像這樣對它們進行切片: arr2.slice(0,3)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315784.html
標籤:javascript 数组 反应 目的
