【问题标题】:Convert array of data into an object with properties [duplicate]将数据数组转换为具有属性的对象[重复]
【发布时间】:2021-10-24 06:38:44
【问题描述】:

如何将数组转换为具有属性的对象: 使用以下数据: ["Test Scenario ID", "Login-1"]

我想返回一个带有属性的对象:

{1: "Test Scenario ID", 2: "Login-1"} // desired result

使用以下内容,它将数据映射到单独的对象中,但我希望它是单个对象的属性,而不是对象数组:

row.values.map( (e,i) => { return {i: e} })

[{1: "Test Scenario ID"}, {2: "Login-1"}] // the current result

【问题讨论】:

  • 将数据更改为这种格式对您有何帮助?这似乎完全是多余的。

标签: javascript arrays json object


【解决方案1】:

你可以用这个:

Object.assign({}, ['a','b','c']);    // {0:"a", 1:"b", 2:"c"}

Object.assign() 方法从 一个或多个源对象到一个目标对象。它返回修改后的 目标对象。

你可以阅读更多关于它here on MDN

【讨论】:

    【解决方案2】:

    一种选择是使用Object.fromEntries 将一组条目转换为对象。

    const result = Object.fromEntries(
      row.values.map((e, i) => [i, e])
    );
    

    另一种选择是获取多个对象的数组,然后通过Object.assign 将它们组合起来。

    const result = Object.assign(
      ...row.values.map( (e,i) => ({i: e}))
    );
    

    【讨论】:

    • 如果有未定义/空条目,我将如何使用 fromEntries?例如:null, 4, "查看附近的桶列表"
    • 您想从结果对象中删除这些值吗?
    猜你喜欢
    • 2016-03-22
    • 2017-10-18
    • 2018-03-04
    • 2021-11-10
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2022-12-08
    相关资源
    最近更新 更多