Javascript 如何将值转换为对象数组

Javascript 如何将值转换为对象数组,javascript,underscore.js,lodash,Javascript,Underscore.js,Lodash,假设我有以下数据: var id = 81; var categories = [1, 2, 3, 4, 5]; 如何将其转换为: [{id: 81, category: 1}, {id: 81, category: 2}, {id: 81, category: 3}, {id: 81, category: 4}, {id: 81, category: 5}] 有没有一种优雅的方法可以使用下划线或lodash来实现这一点?这里不需要库 const result = categories.ma

假设我有以下数据:

var id = 81;
var categories = [1, 2, 3, 4, 5];
如何将其转换为:

[{id: 81, category: 1}, {id: 81, category: 2}, {id: 81, category: 3}, {id: 81, category: 4}, {id: 81, category: 5}]

有没有一种优雅的方法可以使用下划线或lodash来实现这一点?

这里不需要库

const result = categories.map(x => ({ id, category: x }))


你不需要任何图书馆,只要好的,旧的

var newArray = categories.map(function(item) {
  return {id: id, cetegory: item}
});

使用低破折号/下划线,代码将为:

var result = _.map(categories, x => ({ id, category: x }));
但这实际上比纯JS解决方案()更长:


讽刺的是:Vanilla.js是一个库,一个0字节的库。
var newArray = categories.map(function(item) {
  return {id: id, cetegory: item}
});
var result = _.map(categories, x => ({ id, category: x }));
var result = categories.map(x => ({ id, category: x }));