【发布时间】:2022-12-18 07:40:50
【问题描述】:
我有一组看起来像这样的对象
const test = {
a: { name: "A", selected: [1, 2, 3], display: [1, 2, 3] },
b: { name: "B", selected: [4, 5, 6], display: [4, 5, 6] },
c: { name: "C", selected: [7, 8, 9], display: [7, 8, 9] },
d: { name: "D", selected: [], display: [] }
};
我希望将上面的内容转换如下
const output = [
{ field: "A", selectedValues: [1, 2, 3] },
{ field: "B", selectedValues: [4, 5, 6] },
{ field: "C", selectedValues: [7, 8, 9] }
];
基本上输入对象中的键在该数组的最终对象中被制作为field,输入对象中的selected应该在最终对象中被制作为selectedValues。请注意只有具有某些条目的对象 selected 应该放入最终数组
此外,当输入对象中的所有对象都将 selected 设为空时,则只返回空数组,否则返回上述输出。
我试过的代码
const result = Object.entries(test).map(([name, v]) => ({
field: name,
selectedValues: v
}));
console.log(result);
【问题讨论】:
-
你是说
selectedValues: v.selected吗?
标签: javascript arrays ecmascript-6 ecmascript-5