¿Cómo puedo agregar un objeto a una matriz (en javascript o jquery)? Por ejemplo, ¿cuál es el problema con este código?
function(){
var a = new array();
var b = new object();
a[0]=b;
}
Me gustaría usar este código para guardar muchos objetos en la matriz de function1 y llamar a function2 para usar el objeto en la matriz.
- ¿Cómo puedo guardar un objeto en una matriz?
- ¿Cómo puedo poner un objeto en una matriz y guardarlo en una variable?
javascript
arrays
object
más desagradable
fuente
fuente
push
se ha sugerido varias veces aquí. Por favor, no contamines más este hilo con otrapush
sugerencia.Respuestas:
Ponga cualquier cosa en una matriz usando Array.push ().
Información adicional sobre matrices
Agregue más de un artículo a la vez
Agregar elementos al comienzo de una matriz
Agregar el contenido de una matriz a otra
Crear una nueva matriz a partir del contenido de dos matrices.
fuente
aquí años matriz está teniendo valores como
continúa así.
fuente
En primer lugar, no hay
object
oarray
. HayObject
yArray
. En segundo lugar, se puede hacer lo siguiente:Ahora
a
será una matriz conb
como único elemento.fuente
Usando la
ES6
notación, puedes hacer algo como esto:Para agregar puede usar el operador de propagación de esta manera:
fuente
new array()
ynew object()
lanzará unReferenceError
ya que no existen.new Array()
debido a su comportamiento propenso a errores .En su lugar, asigne la nueva matriz con
= [val1, val2, val_n]
. Para objetos, use= {}
.concat
lugar de hacerlopush
.concat
devuelve una nueva matriz, dejando intacta la matriz original.push
muta la matriz de llamada que debe evitarse , especialmente si la matriz está definida globalmente.Aplicando esos puntos y para responder sus dos preguntas, podría definir una función como esta:
Uso:
fuente
freeze
) es solo un paso adicional para evitar mutaciones no deseadas.Ampliando la respuesta de Gabi Purcaru para incluir una respuesta al número 2.
fuente
fuente
obejct
Es claramente un error tipográfico. Pero ambosobject
yarray
necesitan mayúsculas.Puedes usar manos cortas para
new Array
ynew Object
estas son[]
y{}
Puede insertar datos en la matriz usando
.push
. Esto lo agrega al final de la matriz. o puede establecer un índice para contener los datos.fuente
En alternativa la respuesta es esta.
si tiene una matriz como esta:
var contacts = [bob, mary];
y desea colocar otra matriz en esta matriz, puede hacerlo de esta manera:
Declarar el constructor de la función.
hacer el objeto desde la función:
y agregue el objeto a la matriz:
fuente
fuente
La forma en que hice el creador de objetos con la lista automática:
fuente
Se encuentra con un problema de alcance si usa su código como tal. Debe declararlo fuera de las funciones si planea usarlo entre ellas (o si está llamando, páselo como parámetro).
fuente