Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在js中将对象转换为数组?_Javascript_Arrays_Object_Functional Programming - Fatal编程技术网

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

Javascript 如何在js中将对象转换为数组?,javascript,arrays,object,functional-programming,Javascript,Arrays,Object,Functional Programming,我得到了数组的对象属性 const data = { test:["1","2"], test2:["1","2"] } 我正在尝试转换此格式。我正在使用Object.values(数据),其中我只能使用数组。我需要这个格式 我的代码: 让输出=对象值(数据) 您需要使用Object.entries访问键(“test”、“test2”等)和值(数组),然后将值映射到具有label和value属性(基于值)的对象数组 像这样的 const数据={ 测试:[“1”、“2”], 测试2:[“1”

我得到了数组的对象属性

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

}
我正在尝试转换此格式。我正在使用Object.values(数据),其中我只能使用数组。我需要这个格式

我的代码:

让输出=对象值(数据)


您需要使用
Object.entries
访问键(“test”、“test2”等)和值(数组),然后将值映射到具有
label
value
属性(基于值)的对象数组

像这样的

const数据={
测试:[“1”、“2”],
测试2:[“1”,“2”]
}
让输出=Object.entries(data.map)([key,values])=>({
[key]:values.map(v=>({label:v,value:v}))
}))

console.info(输出)
使用
Object.entries
map
构建数组

const format=obj=>
Object.entries(obj.map)([key,arr])=>({
[键]:arr.map(值=>({
标签:值,值
}))
}));
常数数据={
测试:[“1”、“2”],
测试2:[“1”,“2”]
};

console.log(格式(数据))
是您唯一尝试过的
对象.values()
吗?你试过其他代码吗?(如果是这样,请添加它)我只是子数组的数组,但没有得到任何逻辑如何实现它?对象中的数组总是由两个元素组成,还是可以有更多元素?我可以使用object.entries获取这两个数组吗?我的问题是关于对象中的
[“1”,“2”]
值。似乎您想从中创建一个对象数组
[{label:“1”,value:“2”}]
。但是,如果您有一个像
[“1”、“2”、“3”、“4”]
这样的数组,您应该得到
[{label:“1”,value:“2”},{label:“3”,value:“4”}]
?或者你永远不会有一个数组的形状是
[“1”、“2”、“3”、“4”]
?我这样问是因为你有一个数组,其中有一个对象(数组的点是什么?)你的输出与我的输出不匹配。它将是类似{“test2”:[{“label”:“1”,“value”:“2”}]}this@sujon哦,你想要一个冗余阵列吗?这有点奇怪,但确实很简单。我会更新我的answer@sujon修正了,但是你应该在前面提供正确的信息,以及你已经尝试过的内容。你可以看看这个@sujon否,因为它已经被删除了。你可以看看这个吗
output : [{test:[{label:"1",value:"1"},{label:"2",value:"2"}]},{test2:[{label:"1",value:"1"},{label:"2",value:"2"}]]