使用 underscorejs 将项目插入数组对象
Insert an item to array object using underscorejs
我想使用 underscorejs 将一个 id 插入到现有的对象数组中。
输入数组
var arr = [{name:"iPhone"}, {name:"Samsung"}];
预期输出数组
var arr = [{name:"iPhone", owner_id: "555"}, {name:"Samsung", owner_id: "555"}];
尝试了以下,它的工作但正在寻找更好的方法
devices = []
arr.forEach(function(data) {
var device = {};
device.owner_id = "555";
device.name= data.name;
devices.push(device )
})
无需使用下划线。这是使用 .map 方法的简单方法。回调中返回的每个对象都将插入到设备数组中。
var devices = arr.map(function(data) {
var device = {};
device.owner_id = "555";
device.name= data.name;
return device;
})
如果你 console.log devices 它将打印(当然取决于数据):
[{name:"iPhone", owner_id: "555"}, {name:"Samsung", owner_id: "555"}];
先压缩它们,然后使用地图
var arr = [{name:"iPhone"}, {name:"Samsung"}];;
var ageArr = [{owner_id: "555"},{owner_id: "555"}];
var newArr = _.zip(arr, ageArr).map(function(v) {
return _.extend(v[0], v[1]);
});
console.log(newArr);
<script src="http://underscorejs.org/underscore-min.js"></script>
我想使用 underscorejs 将一个 id 插入到现有的对象数组中。
输入数组
var arr = [{name:"iPhone"}, {name:"Samsung"}];
预期输出数组
var arr = [{name:"iPhone", owner_id: "555"}, {name:"Samsung", owner_id: "555"}];
尝试了以下,它的工作但正在寻找更好的方法
devices = []
arr.forEach(function(data) {
var device = {};
device.owner_id = "555";
device.name= data.name;
devices.push(device )
})
无需使用下划线。这是使用 .map 方法的简单方法。回调中返回的每个对象都将插入到设备数组中。
var devices = arr.map(function(data) {
var device = {};
device.owner_id = "555";
device.name= data.name;
return device;
})
如果你 console.log devices 它将打印(当然取决于数据):
[{name:"iPhone", owner_id: "555"}, {name:"Samsung", owner_id: "555"}];
先压缩它们,然后使用地图
var arr = [{name:"iPhone"}, {name:"Samsung"}];;
var ageArr = [{owner_id: "555"},{owner_id: "555"}];
var newArr = _.zip(arr, ageArr).map(function(v) {
return _.extend(v[0], v[1]);
});
console.log(newArr);
<script src="http://underscorejs.org/underscore-min.js"></script>