Javascript: ¿Por qué devolver array.push (x) desde una función no inserta el elemento x en la matriz?

Me gustaría saber por qué funciona la siguiente función:

function foo(list){ var array = []; array.push(list); return array; } > foo([1,2,3]) [[1,2,3]] 

mientras que este no lo hace:

 function foo(list){ var array = []; return array.push(list); } > foo([1,2,3]) 1 

¿Cual es la diferencia entre ellos?

Si nos fijamos en la definición del método de inserción , devuelve la longitud de la matriz después de la inserción, no la propia matriz, por eso devuelve 1.

El método push () agrega uno o más elementos al final de una matriz y devuelve la nueva longitud de la matriz.

Usted está empujando una matriz con 3 elementos a la nueva matriz, por lo que en la nueva matriz tiene una matriz ya que su contenido devuelve 1

    Intereting Posts