gpt4 book ai didi

JavaScript:用数组解构一个对象,解构一个有对象的数组

转载 作者:行者123 更新时间:2023-11-30 07:07:41 25 4
gpt4 key购买 nike

我很难思考如何做到这一点。我有这个对象:

var objData = {
_Input_396__REPEAT15_374:["Bedroom2", "Bedroom3", "Bedroom4"],
_Input_396__REPEAT15_375:["1st", "2nd", "3rd"],
_Input_396__REPEAT15_376:["122", "133", "144"],
_Input_396__REPEAT15_377:["122", "133", "144"],
_Input_396__REPEAT15_378:["Bamboo", "FloorNone", "Cork"]
};

每个数组的长度将与对象中的其他数组的长度相同,但长度会发生变化,因此 3 的长度并不总是长度。

我需要解构成这样:

var arrData = [
{
_Input_396__REPEAT15_374:"Bedroom2",
_Input_396__REPEAT15_375:"1st",
_Input_396__REPEAT15_376:"122",
_Input_396__REPEAT15_377:"122",
_Input_396__REPEAT15_378:"Bamboo"
},
{
_Input_396__REPEAT15_374:"Bedroom3",
_Input_396__REPEAT15_375:"2nd",
_Input_396__REPEAT15_376:"133",
_Input_396__REPEAT15_377:"133",
_Input_396__REPEAT15_378:"FloorNone"
},
{
_Input_396__REPEAT15_374:"Bedroom4",
_Input_396__REPEAT15_375:"3rd",
_Input_396__REPEAT15_376:"144",
_Input_396__REPEAT15_377:"144",
_Input_396__REPEAT15_378:"Cork"
}
];

实现此目标的最佳方法是什么?

最佳答案

您可以迭代对象的键,然后迭代数组,并用所有项目构建一个新数组。

使用的方法

  • Object.keys对于对象自身的属性

  • Array#forEach用于迭代给定数组

  • 模式 x = x || defaultValue,测试 x 是否为真值,如果不是,则将 defaultValue 分配给 x

var objData = { _Input_396__REPEAT15_374: ["Bedroom2", "Bedroom3", "Bedroom4"], _Input_396__REPEAT15_375: ["1st", "2nd", "3rd"], _Input_396__REPEAT15_376: ["122", "133", "144"], _Input_396__REPEAT15_377: ["122", "133", "144"], _Input_396__REPEAT15_378: ["Bamboo", "FloorNone", "Cork"] },
arrData = [];

Object.keys(objData).forEach(function (k) {
objData[k].forEach(function (a, i) {
arrData[i] = arrData[i] || {};
arrData[i][k] = a;
});
});

console.log(arrData);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于JavaScript:用数组解构一个对象,解构一个有对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40840097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com