【问题标题】:Is there any library or short way in Javascript for map nested arrays?Javascript中是否有任何用于映射嵌套数组的库或捷径?
【发布时间】:2021-08-31 13:15:35
【问题描述】:

我有一个这样的数组。

let Array = [{
  id: 1,
  name: "Car",
  cars: [{
    id: 2,
    name: "Hyundai",
    models: [
      "Verna", "Aura", "Azera", "Accent", "Sonata"
    ]
  }]
}....]

我认为这不是最好的方法:Array.map(car => car.cars.map(model => model.models))。 有没有其他办法?

【问题讨论】:

  • 不要将名称 Array 用于变量。它是 JS 中默认对象的名称。 -- 你也可以使用flatMap 来获取单个值数组
  • 您的预期结果是什么?

标签: javascript arrays json object


【解决方案1】:

没有“捷径”,因为您正在做的事情是针对您的问题的。如果你想得到一个像这样的数组,你写它的方式是最简洁的:

let Array = [
  [
    [ "Verna", "Aura", "Azera", "Accent", "Sonata" ],
    [ ... ],
  ],
  [ ... ],
]

但是如果你想把数组展平,可以考虑写成:

Array
  .map(car => car.cars).flat()
  .map(model => model.models).flat()

这将产生一个像这样的数组:

[ "Verna", "Aura", "Azera", "Accent", "Sonata", ... ]

注意事项

不要将数组Array 称为数组构造函数的名称。你将失去new Array()的能力。

【讨论】:

    猜你喜欢
    • 2019-06-20
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 2019-08-13
    • 2018-08-20
    • 2013-07-17
    • 1970-01-01
    相关资源
    最近更新 更多