javascript - 在 Javascript 中将数组转化为对象

标签 javascript

我有这个数组和一个变量:

const a = [1, 5, 3]
const model = 'Audi'

我想要这样的对象:

const obj = {
    data: {
      0: 1,
      1: 5,
      2: 3,
    },
    cars: {
      0: 'Audi',
      1: 'Audi',
      2: 'Audi',
    },
  }

我可以这样做吗?

我想我可以使用 for。这就是我认为要做的:

const obj = {}
for(let i = 0; i < a.lenght; i++) {
  obj.cars = 
}

我不知道如何完成代码......而且我认为这不是最好的解决方案。

谢谢

最佳答案

您可以将Object.assign与扩展语法和map方法一起使用。

const a = [1, 5, 3]
const model = 'Audi'

const obj = {
  data: Object.assign({}, ...a.map((e, i) => ({[i]: e}))),
  cars: Object.assign({}, ...a.map((e, i) => ({[i]: model})))
}

console.log(obj)

关于javascript - 在 Javascript 中将数组转化为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52552077/

相关文章:

javascript - jquery 变量到 $(jquery 变量),两者有什么区别

javascript - 使用 Appium 和 Desired 功能,我在设备中启动 android 应用程序,但无法导航到不在屏幕 View 中的元素

javascript - 如何在一页中获取输入字段的值并在另一页中打印?

javascript - 刷新数据vb

JavaScript,连续的 JS 和 AJAX 函数会随着时间的推移降低页面性能吗?

javascript - 如何在树网格指令中单击整行来伸展树(Splay Tree)行?

javascript - 如何对checkbox、radio做checked? Javascript

javascript - 基本 JS 问题 : how to do 'else, load javascript'

javascript - 断开node-xmpp客户端连接

javascript - Redux 表单 : Input stays with 'touched: false'