【问题标题】:How to declare an array of arrays in JS?如何在JS中声明一个数组?
【发布时间】:2021-11-23 19:50:24
【问题描述】:

我有一个包含动态数量的部分的数组,每个部分都包含动态数量的项目。

所以它是一个数组数组,但是如何声明呢?下面的代码不起作用:

const sections = []
sections[0].push(sectionItem)
sections[0].push(sectionItem)
sections[1].push(sectionItem)
sections[1].push(sectionItem)
sections[1].push(sectionItem)
sections[2].push(sectionItem) // 'sectionItem' is different each time of course

实现这一点的正确方法是什么?

【问题讨论】:

  • 我想你要的是一个多维数组
  • sections 是一个空数组,所以 sections[n] 将是未定义的。如果 sectionItem 是一个数组,也许你的意思是sections[0] = sectionItem?或sections[0] = []; sections[0].push(sectionItem) 首先在索引处存储一个数组,然后推送到它。
  • 你真的应该举一个更现实、更具体的例子,因为这取决于你要推送的项目是什么。编辑您的问题并使用工具栏创建一个可运行的 sn-p,这样当我们运行它时,我们就会看到您遇到的问题。
  • const sections = [ [sectionItem, sectionItem], [sectionItem, sectionItem, sectionItem], [sectionItem] ];?注意内部数组。

标签: arrays ecmascript-6


【解决方案1】:

也许你会喜欢;

sections = ( Array.isArray(sections[n]) ? sections[n].push(sectionItem)
                                        : sections[n] = [sectionItem]
           , sections
           );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2012-11-21
    • 2012-02-27
    • 2010-09-22
    相关资源
    最近更新 更多