javascript - 使用 underscore.js 将多个数组组合为对象集合

标签 javascript arrays underscore.js

我有一些通过数组收集的信息,例如:

var names = ["Jack", "Marry", "Bob"]
var cars = ["Audi", "BMW", "Volvo"]

我希望这些信息组合成像集合一样的对象,例如:

[{name:"Jack", car: "Audi"}, {name: "Marry", car:"BMW"}, {name:"Bob", car:"Volvo"}]

我可以通过一些步骤来做到这一点:

var combine = _.zip(names, cars)
var collection= _.map(combine, function(info){
                      return _.object(["name", "car"], info);
                     });

还有其他方法可以让代码看起来更好吗? 谢谢

最佳答案

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"}]

附注如果数组有不同的长度,请添加一个条件

关于javascript - 使用 underscore.js 将多个数组组合为对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37041450/

相关文章:

javascript - AngularJs 添加 ... 并将所有标签关闭到摘录

.net - ASP.NET 网站的选项卡

javascript - 如何将单个值映射到谓词数组上?

javascript - Underscore.js:集合中项目的总和

javascript - 使用 HTML5 Canvas 绘制透明度乘以颜色的图像

javascript - 将二维数组从 javascript 传递到 php 但大小减小

c - 这是使用数组未定义行为吗?

php - 嵌套循环在 INSERT 时间内无法正常工作

javascript - 如何以功能样式仅更改对象数组中的一个特定对象?

javascript - 如何在reactjs中获取元素属性