如何将值转换为对象数组

时间:2016-04-24 22:25:58

标签: 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是否有一种优雅的方法?

4 个答案:

答案 0 :(得分:9)

这里不需要图书馆。

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

答案 1 :(得分:2)

Working Example JSBin

var a = categories.map(function(a) {
  return {id: id, category: a};
});

或者:

mpf

答案 2 :(得分:1)

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

{{1}}

答案 3 :(得分:1)

使用Lo-Dash / Underscore,代码为:

var result = _.map(categories, x => ({ id, category: x }));

但这实际上比纯JS解决方案(from Роман Парадеев)更长:

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