如何将值转换为对象数组

How to convert values to array of objects

本文关键字:对象 数组 转换      更新时间:2023-09-26

>假设我有这个数据:

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 }))

工作示例 JSBin

var id = 81;
var categories = [1, 2, 3, 4, 5];
var arr = [];
for (var i = 0; i < categories.length; i++) {
  arr.push({id: id, category: categories[i]});
}

或:

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

你不需要任何库,只需要好的,旧的香草JS。

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

使用 Lo-Dash/Underscore,代码将是:

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

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

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