【问题标题】:Remove outer array containing arrays with objects, javascript [closed]删除包含带有对象的数组的外部数组,javascript [关闭]
【发布时间】:2019-07-29 17:47:07
【问题描述】:

我得到一个如下所示的数组:

[ {...}, {...}, {...} ]

我可以用 map() 让它看起来像这样:

[ [{...}], [{...}], [{...}] ]

我无法得到这个结果:

[{...}], [{...}], [{...}]

我只需要删除外部/父数组。我尝试过 flatten、flattenDepth 和 reduce,但是,我似乎无法弄清楚我做错了什么。

【问题讨论】:

  • array = array[0]?
  • 你能用一些示例数据发布实际的预期输出吗? [{...}], [{...}], [{...}] 既不是有效对象也不是数组
  • 您想将原始数组中的每个对象元素包装在其自己的 1 元素数组中吗?
  • [{...}], [{...}], [{...}] 应该是什么? 3个独立变量?一个数组(这就是您在第二个代码块中已经拥有的)?

标签: javascript arrays reduce flatten


【解决方案1】:

也许看看 ES6 spread operator,它看起来有点像你想要的。请注意,它可能不会得到广泛支持。

您也可以尝试function.apply,它接受一个this 对象(可以为空)和一个带参数的数组,并使用它们调用一个函数(如果您需要的话)。

【讨论】:

    【解决方案2】:

    你可以循环,你会得到你想要的

    示例:

    const arr = [
      [{}],
      [{}],
      [{}]
    ]
    
    
    console.log(arr.map(el => ` This an array of object  ===> ${el}`))

    【讨论】:

      【解决方案3】:

      您要求作为输出的格式是一堆不包含对象或数组的数组。这不是你可以做的事情,至少不是在一个变量中。中间的示例可能适合您使用它的任何内容——您可以使用 forEach 分别处理每个内部数组元素。

      【讨论】:

        猜你喜欢
        • 2017-07-07
        • 1970-01-01
        • 2010-12-18
        • 1970-01-01
        • 1970-01-01
        • 2018-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多