提问人:nb_nb_nb 提问时间:9/6/2023 更新时间:9/6/2023 访问量:15
将对象键设为值,并将新键分配给对象数组中的值
Make object key as value and assign new key to value in array of objects
问:
我有一个具有多个属性的对象数组。我希望能够将属性的键设为值,并为我的值分配一个新键。
我的代码:
var list = [
{
you: 100,
me: 75,
foo: 116,
bar: 15,
},
{
you: 234,
me: 33,
foo: 356,
bar: 1,
},
{
you: 567,
me: 77,
foo: 99,
bar: 20,
},
];
const func1 = () => {
let field_arr = [];
for (const obj of list) {
field_arr.push(
{ id: "you", value: obj.you },
{ id: "me", value: obj.me },
{ id: "foo", value: obj.foo },
{ id: "bar", value: obj.bar }
);
}
func2(field_arr);
};
const func2 = async (vars) => {
console.log(vars);
};
func1();
我希望我的输出是:
[
{ id: 'you', value: 100 },
{ id: 'me', value: 75 },
{ id: 'foo', value: 116 },
{ id: 'bar', value: 15 },
]
[
{ id: 'you', value: 234 },
{ id: 'me', value: 33 },
{ id: 'foo', value: 356 },
{ id: 'bar', value: 1 },
]
[
{ id: 'you', value: 567 },
{ id: 'me', value: 77 },
{ id: 'foo', value: 99 },
{ id: 'bar', value: 20 }
]
答:
2赞
Barmar
9/6/2023
#1
您需要将所有参数放入一个数组中。当您为 提供多个参数时,每个参数都是单独推送的。field_arr.push()
push()
var list = [
{
you: 100,
me: 75,
foo: 116,
bar: 15,
},
{
you: 234,
me: 33,
foo: 356,
bar: 1,
},
{
you: 567,
me: 77,
foo: 99,
bar: 20,
},
];
const func1 = () => {
let field_arr = [];
for (const obj of list) {
field_arr.push([
{ id: "you", value: obj.you },
{ id: "me", value: obj.me },
{ id: "foo", value: obj.foo },
{ id: "bar", value: obj.bar }
]);
}
func2(field_arr);
};
const func2 = async (vars) => {
console.log(vars);
};
func1();
另请参阅将对象转换为对象数组,了解如何更动态地执行此操作,而不是对所有值进行硬编码。id
评论