【问题标题】:How to push data to specific sub-array in an empty 2-dimensional array如何将数据推送到空二维数组中的特定子数组
【发布时间】:2019-06-02 13:54:31
【问题描述】:

我正在尝试设置一个二维数组,它应该接收特定子数组的值。我创建了我的数组:

myArray= Array(100).fill([])

现在,假设我要推送一个值来表示子数组编号 40

我就是这样做的:

myArray[40].push("myValue")

我希望该值仅被推送到 myArray[40],而不是作为一百个子数组中的每一个的第一个元素推送。

我搜索了很长一段时间的解决方案,但我仍然不知道我做错了什么。请帮忙。

【问题讨论】:

    标签: javascript arrays multidimensional-array


    【解决方案1】:

    fill 会将相同的值推送到每个元素,而不是它的副本。当它是一个数字或字符串或其他不可变的东西时,这很好。但是现在每个副本都是对同一个对象的引用。

    有多种方法可以解决此问题。这是一个(切换到十个元素进行演示):

    const myArray = [...Array(10)].map((_, i) => [])
    
    myArray[4].push('myValue')
    
    console.log(myArray)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2019-05-31
      • 2012-02-27
      • 2019-12-04
      • 1970-01-01
      相关资源
      最近更新 更多