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

suj*_*jon -2 javascript arrays functional-programming object

我有数组属性的对象。

const data = {
test:["1","2"],
test2:["1","2"]

}
Run Code Online (Sandbox Code Playgroud)

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

我的尝试代码:

让输出 = Object.values(data)

output : [{test:[{label:"1",value:"1"},{label:"2",value:"2"}]},{test2:[{label:"1",value:"1"},{label:"2",value:"2"}]]
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 5

您需要使用Object.entries来访问键("test""test2"等)和值(数组),然后将这些值映射到具有labelvalue属性(基于)的对象数组。

像这样的东西...

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)
Run Code Online (Sandbox Code Playgroud)