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一个简单的修复…完成