代码之家  ›  专栏  ›  技术社区  ›  Mustafa Magdy

在数组对象中选择键的优雅方法

  •  0
  • Mustafa Magdy  · 技术社区  · 8 年前

    [
    {'key1': { ... }},
    {'key2': { ... }},
    {'key3': { ... }}
    ]
    

    我想以一种优雅的方式提取这些对象的键,下面的代码正在工作,但对我来说似乎很难看。

    let result = objects.map(o => Object.keys(o))[0]
    

    这个 [0] 因为返回值是数组的数组

    3 回复  |  直到 8 年前
        1
  •  0
  •   Mohammad Usman    8 年前

    你可以用 .concat() .map()

    let data = [
      {'key1': { }},
      {'key2': { }},
      {'key3': { }}
    ];
    
    let result = [].concat(...data.map(Object.keys));
    
    console.log(result);

    参考文献:

        2
  •  0
  •   JasonK    8 年前

    数组只能保存值,对象只能保存键/值对。别忘了使用 JSON.parse(json) 在实际操作数据之前。

    const list = [
        {1: "one"},
        {2: "two"}, 
        {3: "three"}
    ];
    
        3
  •  0
  •   adz5A    8 年前

    我编辑了你的JSON。

    const data = [
      { 'key2': {  }} ,
      {'key1': {  }},
      {'key3': {  }}
    ];
    
    const result = [].concat.apply([], data.map(Object.keys));
    console.log(result);