【问题标题】:How to only use the map() function on the top level array?如何仅在顶级数组上使用 map() 函数?
【发布时间】:2019-03-11 13:32:15
【问题描述】:

对于我的react-native 应用程序,我想使用array map() 方法。

我有一个名为 groups 的数组,其中包含 2 个具有这种结构的对象:

Array [
  Object {
    [key]: Object {
      "value1": xxxx,
      "value2": Array [
        "xxxx",
        "xxxx"
      ],
      "value3": xxxx
  },
  Object {
    [key]: Object {
      "value1": xxxx,
      "value2": Array [
        "xxxx",
        "xxxx"
      ],
      "value3": xxxx
  }
]

如您所见,数组中有一个数组。我想将 map function() 仅用于顶级数组。我该怎么做?

【问题讨论】:

  • 因为它记录了两次
  • 因为Array中有两个元素,就是两个对象。因此,在那个map() 函数中,值data 被评估为第一个对象,然后是第二个对象。在这两种情况下,对象都包含一个属性value2,因此它也显示了它的数组。我的意思是,如果我正确理解了您的问题,那么行为就是我们应该期望的行为
  • @MatteoGesmundo 啊,好吧,我想我明白了!那么,我怎样才能避免这种行为呢?意思是,我怎样才能将 map 函数仅用于“外部”数组?
  • 显示你的映射器的内容,你的描述没有意义。如果不需要... some stuff ... 隐藏的内容来重现问题,则将其删除。 Array.prototype.map 只会遍历调用它的 Array 的非空槽。再一次,前提听起来完全不对。
  • 嗯.. 你不能。我的意思是,您已经在迭代外部数组:事实是外部数组的元素包括内部数组。确切地说,你在这里的目标是什么?因为,正如我刚才所说,您已经在迭代外部数组

标签: javascript reactjs react-native


【解决方案1】:

它只会像这样打印,

{ a: 'b', c: [ 'd', 'e' ], f: 'g' }
{ h: 'j', k: [ 'l', 'm' ], n: 'o' }

至少在打印时我不会有偏见。 :P

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2017-08-28
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多