¿Es posible usar Array.push para agregar múltiples valores de una lista? Por ejemplo, actualmente lo que tengo que hacer es:
Array.prototype.extend = function(arr) { for (let elem of arr) { this.push(elem); } } let x = [1,2,3]; let y = [4,5,6]; let z = [7,8,9]; x.push(y); x.extend(z) console.log(x); O, ¿hay alguna forma de pasar la matriz como un solo argumento al método push , o tal vez hay otro método Array completamente que hace esto en su lugar?
Por lo general, es una mala práctica extender los tipos nativos con métodos personalizados . Entonces, en lugar de agregar los personalizados al prototipo de Array, podría:
... const x = [1,2,3]; const y = [4,5,6]; const z = [7,8,9]; x.push(y); x.push(...z) console.log(x); let x = [1,2,3]; const y = [4,5,6]; const z = [7,8,9]; x.push(y); x = x.concat(z); console.log(x); La diferencia es que .concat() no modifica directamente la matriz original, por lo tanto, la sintaxis de asignación x = x.concat( y la matriz original x se establece como una variable let .
Puede enviar múltiples argumentos a Array.prototype.push y todos se enviarán a nuestra matriz de resultados, por lo que podemos "convertir" nuestra matriz en múltiples argumentos usando la sintaxis de distribución ES6.
let x = [1,2,3]; let y = [4,5,6]; x.push(...y); console.log(x);puedes distribuir el elemento de la matriz de esta manera
const x = [1,2,3]; const y = [4,5,6]; const z = [7,8,9]; x.push(...y); x.push(...z) console.log(x);