如何使用Javascript迭代json对象并使用连接的值形成一个新对象?
我一直在开发api,它以JSON对象的形式提供数据,我根本无法控制它。我需要拉选择框上的数据。我已经设法填充了它,但它只允许单值绑定。即firstName或lastName或middleName,而不是两者。以下是我当前的JSON对象:如何使用Javascript迭代json对象并使用连接的值形成一个新对象?,javascript,json,angular,api,Javascript,Json,Angular,Api,我一直在开发api,它以JSON对象的形式提供数据,我根本无法控制它。我需要拉选择框上的数据。我已经设法填充了它,但它只允许单值绑定。即firstName或lastName或middleName,而不是两者。以下是我当前的JSON对象: .employeesList = [ { id: 1, firstName: 'firstName', middleName: 'middleName', lastName: 'lastName', }, {
.employeesList = [
{
id: 1,
firstName: 'firstName',
middleName: 'middleName',
lastName: 'lastName',
},
{
id: 2,
firstName: 'firstName2',
middleName: 'middleName2',
lastName: 'lastName2',
},
{
id: 3,
firstName: 'firstName3',
middleName: 'middleName3',
lastName: 'lastName3',
},
{
id: 4,
firstName: 'firstName4',
middleName: 'middleName4',
lastName: 'lastName4',
},
{
id: 5,
firstName: 'firstName5',
middleName: 'middleName5',
lastName: 'lastName5',
}
]
我希望在每个数据中合并firstName、middleName和lastName,并形成一个新的JSON对象,该对象只有ID和全名,如下所示:
.employeesList = [
{
id: 1,
fullName: 'firstName MiddleName LastName'
},
{
id: 2,
fullName: 'firstName2 MiddleName2 LastName2'
},
{
id: 3,
fullName: 'firstName3 MiddleName3 LastName3'
},
{
id: 4,
fullName: 'firstName4 MiddleName4 LastName4'
},
{
id: 5,
fullName: 'firstName5 MiddleName5 LastName5'
}
]
如何使用Javascript实现这一点 使用array.prototype.map:
var employeesList=[
{
id:1,
名字:“名字”,
middleName:“middleName”,
lastName:“lastName”,
},
{
id:2,
名字:“名字2”,
middleName:'middleName2',
lastName:'lastName2',
},
{
id:3,
firstName:'firstName3',
middleName:'middleName3',
lastName:'lastName3',
},
{
id:4,
名字:“名字4”,
middleName:'middleName4',
lastName:'lastName4',
},
{
id:5,
名字:“名字5”,
middleName:'middleName5',
lastName:'lastName5',
}
];
var newEmployeesList=employeesList.map(e=>({id:e.id,全名:`${e.firstName}${e.middleName}${e.lastName}}}));
console.log(newEmployeesList)代码>使用array.prototype.map:
var employeesList=[
{
id:1,
名字:“名字”,
middleName:“middleName”,
lastName:“lastName”,
},
{
id:2,
名字:“名字2”,
middleName:'middleName2',
lastName:'lastName2',
},
{
id:3,
firstName:'firstName3',
middleName:'middleName3',
lastName:'lastName3',
},
{
id:4,
名字:“名字4”,
middleName:'middleName4',
lastName:'lastName4',
},
{
id:5,
名字:“名字5”,
middleName:'middleName5',
lastName:'lastName5',
}
];
var newEmployeesList=employeesList.map(e=>({id:e.id,全名:`${e.firstName}${e.middleName}${e.lastName}}}));
console.log(newEmployeesList)代码>
var employeesList=[{
id:1,
名字:“名字”,
middleName:“middleName”,
lastName:“lastName”,
},
{
id:2,
名字:“名字2”,
middleName:'middleName2',
lastName:'lastName2',
},
{
id:3,
firstName:'firstName3',
middleName:'middleName3',
lastName:'lastName3',
},
{
id:4,
名字:“名字4”,
middleName:'middleName4',
lastName:'lastName4',
},
{
id:5,
名字:“名字5”,
middleName:'middleName5',
lastName:'lastName5',
}
]
employeesList.map((obj)=>{
obj[“全名”]=obj[“名字”]+“”+obj[“中间名”]+“”+obj[“姓氏”];
删除obj[“名字”];
删除obj[“中间名”];
删除obj[“lastName”];
控制台日志(obj)
});代码>
var employeesList=[{
id:1,
名字:“名字”,
middleName:“middleName”,
lastName:“lastName”,
},
{
id:2,
名字:“名字2”,
middleName:'middleName2',
lastName:'lastName2',
},
{
id:3,
firstName:'firstName3',
middleName:'middleName3',
lastName:'lastName3',
},
{
id:4,
名字:“名字4”,
middleName:'middleName4',
lastName:'lastName4',
},
{
id:5,
名字:“名字5”,
middleName:'middleName5',
lastName:'lastName5',
}
]
employeesList.map((obj)=>{
obj[“全名”]=obj[“名字”]+“”+obj[“中间名”]+“”+obj[“姓氏”];
删除obj[“名字”];
删除obj[“中间名”];
删除obj[“lastName”];
控制台日志(obj)
});代码>我使用这段代码,对我来说效果很好。(需要JQuery)
我使用这段代码,对我来说效果很好。(需要JQuery)
看起来是…的工作看起来是…的工作
newList = employeesList.map((empl) => {
return {
id: empl.id, fullName: empl.firstName + ' ' + empl.middleName + ' ' + empl.lastName}
}
)
var newEmployeesList = [];
$.each(employeesList, function(key, item) {
var f_name = item.firstName;
var m_name = item.middleName;
var l_name = item.lastName;
var obj = new Object();
obj.id = key;
obj.fullName = f_name + " " + m_name + " " + l_name;
newEmployeesList.push(obj);
});