Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 字符串数组到对象数组的转换_Javascript_Arrays - Fatal编程技术网

Javascript 字符串数组到对象数组的转换

Javascript 字符串数组到对象数组的转换,javascript,arrays,Javascript,Arrays,我有一个数组变量类别: var category = ["all", "Items Id", "Items Sku", "Items Name"] 我需要将其转换为以下格式的JSON对象: var类别=[{ “id”:“全部”, “文本”:“全部”, “儿童”:[{ “id”:“项目id”, “文本”:“项目Id” }, { “id”:“物料Sku”, “文本”:“项目Sku” }, { “id”:“项目名称”,

我有一个数组变量类别:

var category = ["all", "Items Id", "Items Sku", "Items Name"]
我需要将其转换为以下格式的JSON对象:

var类别=[{
“id”:“全部”,
“文本”:“全部”,
“儿童”:[{
“id”:“项目id”,
“文本”:“项目Id”
}, {
“id”:“物料Sku”,
“文本”:“项目Sku”
}, {
“id”:“项目名称”,
“文本”:“项目名称”
}]
}, ];
我正在尝试使用以下代码,但不起作用:

var category=[“全部”、“项目Id”、“项目Sku”、“项目名称”]
var json=header.map((str,index)=>({text:str,id:index+1}));
变量类别列表=[];
for(json中的var i){
类别.推送({
“id”:json[0]。值,
“text”:json[0]。值,
“儿童”:[{
id:json[i]。值,
text:json[i].value
}]
}
console.log(categorylist)
有任何帮助吗?

您可以使用
array#map
生成跳过第一项的子项,然后通过为第一项添加
id
text
并添加子项来生成数组

const category=[“全部”、“项目Id”、“项目Sku”、“项目名称”],
children=category.slice(1.map)(id=>({id,text:id})),
结果=[{id:category[0],text:category[0],children}];
console.log(result);
您可以使用
array#map
生成跳过第一项的子项,然后通过为第一项添加
id
text
并添加子项来生成数组

const category=[“全部”、“项目Id”、“项目Sku”、“项目名称”],
children=category.slice(1.map)(id=>({id,text:id})),
结果=[{id:category[0],text:category[0],children}];
console.log(result);
map()用于使用一点解构将第一个元素从数组的其余部分分离出来的子元素

const category=[“全部”、“项目Id”、“项目Sku”、“项目名称”],
getObj=([id,…rest])=>({id,text:id,children:rest.map(id=>({id,text:id}))),
res=[getObj(类别)];
console.log(res)
map(),用于使用一点解构将第一个元素从数组的其余部分分离出来的子元素

const category=[“全部”、“项目Id”、“项目Sku”、“项目名称”],
getObj=([id,…rest])=>({id,text:id,children:rest.map(id=>({id,text:id}))),
res=[getObj(类别)];

console.log(res)
欢迎来到StackOverflow!请阅读并告知我,您的问题中没有任何内容涉及JSON。我对其进行了相应的编辑。为什么孩子们最终会使用不同的键?欢迎来到StackOverflow!请阅读并告知我,您的问题中没有任何内容涉及JSON。我对其进行了相应的编辑。为什么孩子们最终会使用不同的键?简单的修复…d一个简单的修复…完成