如何在js中将对象转换为数组?

我有数组属性的对象。


const data = {

test:["1","2"],

test2:["1","2"]


}

我正在尝试转换这种格式。我正在使用 Object.values(data) ,我只能在其中使用 array 。我需要得到这种格式。


我的尝试代码:


让输出 = Object.values(数据)


output : [{test:[{label:"1",value:"1"},{label:"2",value:"2"}]},{test2:[{label:"1",value:"1"},{label:"2",value:"2"}]]


牛魔王的故事
浏览 195回答 2
2回答

千巷猫影

您将希望使用Object.entries来访问键("test"、"test2"等)和值(数组),然后将值映射到具有label和value属性的对象数组(基于值)。像这样的东西...const data = {  test: ["1", "2"],  test2: ["1", "2"]}let output = Object.entries(data).map(([ key, values ]) => ({  [key]: values.map(v => ({ label: v, value: v }))}))console.info(output)

明月笑刀无情

使用Object.entries和map构建阵列。const format = obj =>  Object.entries(obj).map(([key, arr]) => ({    [key]: arr.map(value => ({      label: value, value    }))  }));const data = {  test: ["1", "2"],  test2: ["1", "2"]};console.log(format(data));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript