[英]Combine multiple array to object collection using underscore.js
I have some information collected by array, like:我有一些由数组收集的信息,例如:
var names = ["Jack", "Marry", "Bob"]
var cars = ["Audi", "BMW", "Volvo"]
I want these info combine to object like collection, like:我希望这些信息结合到对象之类的集合中,例如:
[{name:"Jack", car: "Audi"}, {name: "Marry", car:"BMW"}, {name:"Bob", car:"Volvo"}]
I can do this by some steps:我可以通过一些步骤来做到这一点:
var combine = _.zip(names, cars)
var collection= _.map(combine, function(info){
return _.object(["name", "car"], info);
});
Is there other way to make code look better?有没有其他方法可以让代码看起来更好? Thanks
谢谢
How about es5 array.map() ? es5 array.map()怎么样?
var names = ["Jack", "Marry", "Bob"]
var cars = ["Audi", "BMW", "Volvo"]
var result = names.map(function(val, key){
return {name: val, car: cars[key]}
})
console.log(result); //[{car: "Audi", name: "Jack"}, {car: "BMW", name: "Marry"}, {car: "Volvo", name: "Bob"}]
PS please add a condition for case if arrays will have different length PS,如果数组的长度不同,请添加一个条件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.