【问题标题】:How do you create a nested array with an append like function in JavaScript?如何在 JavaScript 中创建一个带有类似追加函数的嵌套数组?
【发布时间】:2021-08-09 00:27:44
【问题描述】:

我有一个数组,我想保存数组格式的玩家数据。这些播放器在 html 表格中循环播放,并且需要彼此独立。

当我在 JavaScript 中使用 push 函数时,它只是解包数组并将所有值放在一起。这对我来说非常不方便,我想知道是否有一个推送/追加函数专门将数据保存为数组格式。

例如:

output = [];
var one = ['Jim', '12/05/1970', '85kg'];
var two = ['Bill', '08/04/1972', '65kg'];
var three = ['Anthony', '23/02/1971', '80kg'];

output.push([one]);
output.push([two]);
output.push([three]);

Expected Output: [ ['Jim', '12/05/1970', '85kg'], ['Bill', '08/04/1972', '65kg'], ['Anthony', '23/02/1971', '80kg'] ]

Actual Output: ['Jim', '12/05/1970', '85kg', 'Bill', '08/04/1972', '65kg', 'Anthony', '23/02/1971', '80kg']

非常感谢任何其他能让我得到我想要的输出的做法。

【问题讨论】:

标签: javascript arrays multidimensional-array


【解决方案1】:

添加方括号会破坏列表的结构,因此您应该删除它们。您还可以通过向 push 方法添加多个参数来一次推送所有数组。

output = [];
var one = ['Jim', '12/05/1970', '85kg'];
var two = ['Bill', '08/04/1972', '65kg'];
var three = ['Anthony', '23/02/1971', '80kg'];

output.push(one, two, three); 

【讨论】:

  • 谢谢,我早上去看看
【解决方案2】:

数组推送方法在数组末尾追加一个新值

    const output = [];
    let one = ['Jim', '12/05/1970', '85kg'];
    let two = ['Bill', '08/04/1972', '65kg'];
    let three = ['Anthony', '23/02/1971', '80kg'];
    
    output.push(one);
    output.push(two);
    output.push(three);
    
    console.log(output);
Expected Output: [ ['Jim', '12/05/1970', '85kg'], ['Bill', '08/04/1972', '65kg'], ['Anthony', '23/02/1971', '80kg'] ]

你甚至可以一键合并数组

console.log(output.push(one,two,three))

【讨论】:

  • 奇怪的是,当我将数据发送到 python 烧瓶路由时,它显示为一个数组。感谢您的回答,我会在早上研究它。
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2021-08-16
  • 2018-01-31
  • 2017-03-08
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2017-09-07
相关资源
最近更新 更多