【问题标题】:How to create individual object from a list of object?如何从对象列表中创建单个对象?
【发布时间】:2020-06-17 22:40:01
【问题描述】:

我有一个不同对象的列表,如下所示:

Object: { "march 2019": 21, "april 2019": 23, "may 2019": 121, etc... }

如何在 javascript 或 jQuery 中设置之前列表中的单个对象?

  Object:   { "march 2019": 21 }
  Object:   { "april 2019": 23 }
  Object:   { "may 2019": 121 }

感谢您的帮助

【问题讨论】:

    标签: javascript jquery list object


    【解决方案1】:

    您可以使用 Object.entriesArray#map

    更新有 3 个不同的答案

    const obj = { "march 2019": 21, "april 2019": 23, "may 2019": 121};
    
    let res = Object.entries(obj).map((a,b)=>({[a[0]]:a[1]}));
    
    //array object
    console.log(res)
    
    //single object 
    console.log(Object.assign({},...res))
    
    //object object
    console.log(res.reduce((a,b,c)=>(a[c]=b,a),{}))

    【讨论】:

    • 感谢您的帮助,但不可能有单个对象,不包含在数组中?
    • @タナカ 这将如何工作?你需要一些东西来包含你正在创建的多个新对象,而数组最适合它
    • @prasanth 而不是拥有 4 个对象的数组,我需要这 4 个对象分别像 code Object: { "march 2019": 21 } Object:{ "april 2019": 23 } Object:{ "may 2019": 121 }:
    • @タナカ 如果你有数组而不是单个对象。在 .yourarray.map(item=> Object.entries(item).map((a,b)=>({[a[0]]:a[1]})) ) 之前使用 array#map
    • 我有 1 个包含不同值的对象,我想将它们转换为单个对象。我编辑了我的主要问题
    【解决方案2】:

    您可以将对象存储在数组中,也可以直接在循环中使用:

    const obj = { "march 2019": 21, "april 2019": 23, "may 2019": 121};
    
    Object.entries(obj).forEach(ob=>console.log({[ob[0]]:ob[1]}))

    希望它应该工作

    【讨论】:

    • 感谢您的帮助。结果是我需要的,但它仅由 console.log 显示?我需要修改对象列表。没有 console.log 也可以吗?
    • 您不能将此值 ({ "march 2019": 21 } { "april 2019": 23 } { "may 2019": 121 }) 存储在变量中。您可以使用数组或对象来存储这些值,也可以直接在循环内使用
    【解决方案3】:

    您可以尝试以下方法,这将给出一个对象:

    let input_dict = { "march 2019": 21, "april 2019": 23, "may 2019": 121};
    
    let output_dict = {};
    Object.keys(input_dict).map(function (item) {
        !output_dict.hasOwnProperty(item)?output_dict[item] = input_dict[item]:'';
    });
    console.log(output_dict)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 2011-09-07
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多