Как вы создаете вложенный массив с функцией добавления в JavaScript?

avatar
DataMsc
9 августа 2021 в 00:27
68
2
0

У меня есть массив, в котором я хочу хранить данные игроков в формате массива. Эти плееры зациклены на таблице в html и должны быть независимы друг от друга.

Когда я использую функцию push в JavaScript, она просто распаковывает массив и содержит все значения рядом друг с другом. Это крайне неудобно для меня, и мне было интересно, существует ли функция push/append, которая специально сохраняет данные в формате массива.

например:

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']

Любые другие методы, которые могут дать мне желаемый результат, будут очень оценены.

Источник
halilcakar
9 августа 2021 в 00:30
0

output.push(one, two, three); подойдет. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… проверьте ссылку на API :)

Ответы (2)

avatar
Atata
9 августа 2021 в 00:43
1

Метод массива push добавляет новое значение в конец массива

    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))
DataMsc
9 августа 2021 в 01:10
0

Странно, когда я отправляю данные на маршрут фляги python, они отображаются как один массив. Спасибо за ответ, утром посмотрю.

avatar
Illusion705
9 августа 2021 в 00:35
2

Добавление квадратных скобок деструктурирует списки, поэтому их следует удалить. Вы также можете отправить все массивы одновременно, добавив несколько аргументов в метод 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); 
DataMsc
9 августа 2021 в 01:09
0

Спасибо утром посмотрю