我有 {
skills: {
extracted: [
{value: 'PHP'},
{value: 'JavaScript'},
{value: 'Python'}
]
},
experience : {
jobs : [
{
date_range : {
value : "September 2014 to January 2015"
},
company : {
value : "Direct Skill Systems LLC"
},
title : {
"value" : "Senior "
}
},
{
date_range : {
value : "October 2013 to January 2014"
},
company : {
value : "Seven Smarts LLC"
},
skills : [
{
value : "C#4 "
}
]
},
{
date_range : {
value : "November 2012 to February 2013"
},
company : {
value : "Haypost CJSC"
},
title : {
value : "Software Developer"
},
skills : [
{
value : "C#2 "
},
{
value : "WinForms "
}
]
},
{
date_range : {
value : "April 2007 to February 2012"
},
company : {
value : "Digamma LLC"
},
skills : [
{
value : "C#3"
}
]
},
{
date_range : {
value : "June 2005 to June 2007"
},
company : {
value : "UITE"
},
skills : [
]
},
{
date_range : {
value : "February 2005 to May 2005"
},
company : {
value : "Opensourcearmenia"
},
title : {
value : "Web Developer"
},
skills : [
]
},
{
date_range : {
value : "January 2002 - April 2002"
},
title : {},
skills : []
}
]
},
education: {
institutions: [
{
name: {
value: "American University"
},
date_range: {
value: "July 2000 - November 2000"
}
},
{
name: {
value: "State Engineering University, Master"
},
date_range: {
value: "September 1985 - July 1992"
}
},
{
name: {
value: "M. Sar #8 School"
},
date_range: {
value: "September 1975 - July 1985"
}
}
]
}
}
数据中的对象。
map
我如何能够 {
children: [
{
name: 'skills',
children2: [
{name: 'PHP'},
{name: 'JavaScript'},
{name: 'Python'}
}
]
}
来自JSON的数据并完全按照我的描述构建结果。
var input = {
skills: {
extracted: [{
value: 'PHP'
},
{
value: 'JavaScript'
},
{
value: 'Python'
}
]
},
experience: {
jobs: [{
date_range: {
value: "September 2014 to January 2015"
},
company: {
value: "Direct Skill Systems LLC"
},
title: {
"value": "Senior "
}
},
{
date_range: {
value: "October 2013 to January 2014"
},
company: {
value: "Seven Smarts LLC"
},
skills: [{
value: "C#4 "
}]
},
{
date_range: {
value: "November 2012 to February 2013"
},
company: {
value: "Haypost CJSC"
},
title: {
value: "Software Developer"
},
skills: [{
value: "C#2 "
},
{
value: "WinForms "
}
]
},
{
date_range: {
value: "April 2007 to February 2012"
},
company: {
value: "Digamma LLC"
},
skills: [{
value: "C#3"
}]
},
{
date_range: {
value: "June 2005 to June 2007"
},
company: {
value: "UITE"
},
skills: [
]
},
{
date_range: {
value: "February 2005 to May 2005"
},
company: {
value: "Opensourcearmenia"
},
title: {
value: "Web Developer"
},
skills: [
]
},
{
date_range: {
value: "January 2002 - April 2002"
},
title: {},
skills: []
}
]
},
education: {
institutions: [{
name: {
value: "American University"
},
date_range: {
value: "July 2000 - November 2000"
}
},
{
name: {
value: "State Engineering University, Master"
},
date_range: {
value: "September 1985 - July 1992"
}
},
{
name: {
value: "M. Sar #8 School"
},
date_range: {
value: "September 1975 - July 1985"
}
}
]
}
}
var data = {
children: [
{
name: 'Skills',
children2: input.skills.extracted.map(skill => ({name:skill.value}))
},
{
name: 'Experience',
children2: input.experience.jobs.map(job => ({name:job.date_range.value} ))
},
{
name: 'Education',
children2: input.education.institutions.map(edu => ({name:edu.name.value, children2: [{name:edu.date_range.value}]} ))
},
]
};
console.log(data);
我利用了答案Jamiec。
{{1}}
答案 0 :(得分:2)
您只想map
skills.extracted
数组,并按照您的描述完全构建结果:
var input = {
skills: {
extracted: [
{value: 'PHP'},
{value: 'JavaScript'},
{value: 'Python'}
]
}
}
var output = {
children: [
{
name: 'skills',
children2: input.skills.extracted.map(skill => ({name:skill.value}))
}
]
}
console.log(output);