我有兩個陣列,如:
descriptionList: ["First", "Second", "Last"]
statusList: ["Jon", "Jim", "Den"]
我想要的是創建一個這樣的物件串列:
"subtasks": [
{
"description": First,
"status": "Jon"
},
{
"description": Second,
"status": "Jim"
},
....
],
串列可以有 3 個以上的元素。
我試過的是這樣的:
var result = {};
descriptionList.forEach((key, i) => result[key] = statusList[i]);
console.log('result', result);
它列印的是這個,而不是我想要的。
{ 第一個:“Jon”,第二個:“Jim”,最后一個:“Den”} 提前謝謝
uj5u.com熱心網友回復:
您可以壓縮兩個陣列并用于map創建預期的結構:
function zip(arr1, arr2) {
return Array(Math.max(arr1.length, arr2.length)).fill(0).map((_, idx) => ([arr1[idx], arr2[idx]]));
}
const data = {
descriptionList: ["First", "Second", "Last"],
statusList: ["Jon", "Jim", "Den"]
};
const result = {
subtasks: zip(...Object.values(data)).map(el => ({ description: el[0], status: el[1] }))
};
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/311120.html
標籤:javascript
