要将带有数组的 JavaScript 对象转换为具有相应名称和值的对象数组,可以使用 Object.keys()
和 Array.prototype.map()
方法。以下是一个示例代码:
const obj = {
names: ['Alice', 'Bob', 'Charlie'],
ages: [25, 30, 35]
};
const result = Object.keys(obj).map(key => {
return obj[key].map(value => ({ [key]: value }));
}).flat();
console.log(result);
Object.keys(obj)
: 获取对象的所有键(即 names
和 ages
)。map(key => { ... })
: 对每个键进行遍历。obj[key].map(value => ({ [key]: value }))
: 对每个键对应的数组进行遍历,并将每个值转换为一个新的对象,该对象的键是当前遍历的键,值是当前遍历的值。.flat()
: 将嵌套的数组扁平化为一维数组。[
{ names: 'Alice' },
{ names: 'Bob' },
{ names: 'Charlie' },
{ ages: 25 },
{ ages: 30 },
{ ages: 35 }
]
这种转换在处理需要将多个数组组合成一个对象数组的场景中非常有用,例如:
通过这种方式,你可以轻松地将带有数组的对象转换为具有相应名称和值的对象数组。
领取专属 10元无门槛券
手把手带您无忧上云