如何向 javascript 上的数组对象添加新元素
How to add new elements to the object of an array on javascript
我有一个var arr = [{name:"Joe"}, {name:"Mark"}];
我有像 var ageArr = [{age: 24}, {age: 30}]
这样的年龄数组
我需要以编程方式添加对象各自的年龄
我的数组需要看起来像 var arr = [{name:"Joe", age: 24}, {name:"Mark", age: 30}];
我正在使用 javascript 并包含库 underscore.js。
有没有更简洁的方法来实现这一点。有人可以为此提供代码片段吗?
你可以
var newArr = arr.map(function(v, i) {
return _.extend(v, ageArr[i]);
});
如果您不喜欢使用自由变量 ageArr
和按索引访问 - 您可以先 zip
它们:
var newArr = _.zip(arr, ageArr).map(function(v) {
return _.extend(v[0], v[1]);
});
JSFiddle:http://jsfiddle.net/wrq2Lo8m/
您可以使用简单的 Javascript 代码来实现。
var arr = [{name:"Joe"}, {name:"Mark"}];
var ageArr = [{age: 24}, {age: 30}]
var newArr = []
for(var i =0 ; i < arr.length ; i++)
{
var newObj = new Object();
newObj.name = arr[i].name;
newObj.age = ageArr[i].age;
newArr.push(newObj)
}
alert(JSON.stringify(newArr))
单击 运行 代码段
最直接的方法:
// make sure names and ages are same length
function mapNameWithAge(names, ages) {
var len = names.length,
ans = [];
for(var i=0;i<len;i++) {
var obj = {
"name": names[i].name,
"age": ages[i].age
}
ans.push(obj);
}
return JSON.stringify(ans)
}
var arr = [{name:"Joe"}, {name:"Mark"}],
ageArr = [{age: 24}, {age: 30}];
var result = mapNameWithAge(arr, ageArr);
console.log(result);
我有一个var arr = [{name:"Joe"}, {name:"Mark"}];
我有像 var ageArr = [{age: 24}, {age: 30}]
我需要以编程方式添加对象各自的年龄
我的数组需要看起来像 var arr = [{name:"Joe", age: 24}, {name:"Mark", age: 30}];
我正在使用 javascript 并包含库 underscore.js。
有没有更简洁的方法来实现这一点。有人可以为此提供代码片段吗?
你可以
var newArr = arr.map(function(v, i) {
return _.extend(v, ageArr[i]);
});
如果您不喜欢使用自由变量 ageArr
和按索引访问 - 您可以先 zip
它们:
var newArr = _.zip(arr, ageArr).map(function(v) {
return _.extend(v[0], v[1]);
});
JSFiddle:http://jsfiddle.net/wrq2Lo8m/
您可以使用简单的 Javascript 代码来实现。
var arr = [{name:"Joe"}, {name:"Mark"}];
var ageArr = [{age: 24}, {age: 30}]
var newArr = []
for(var i =0 ; i < arr.length ; i++)
{
var newObj = new Object();
newObj.name = arr[i].name;
newObj.age = ageArr[i].age;
newArr.push(newObj)
}
alert(JSON.stringify(newArr))
单击 运行 代码段
最直接的方法:
// make sure names and ages are same length
function mapNameWithAge(names, ages) {
var len = names.length,
ans = [];
for(var i=0;i<len;i++) {
var obj = {
"name": names[i].name,
"age": ages[i].age
}
ans.push(obj);
}
return JSON.stringify(ans)
}
var arr = [{name:"Joe"}, {name:"Mark"}],
ageArr = [{age: 24}, {age: 30}];
var result = mapNameWithAge(arr, ageArr);
console.log(result);