Como posso adicionar um objeto a uma matriz (em javascript ou jquery)? Por exemplo, qual é o problema com este código?
function(){
var a = new array();
var b = new object();
a[0]=b;
}
Eu gostaria de usar esse código para salvar muitos objetos na matriz da função1 e chamar a função2 para usar o objeto na matriz.
- Como posso salvar um objeto em uma matriz?
- Como posso colocar um objeto em uma matriz e salvá-lo em uma variável?
javascript
arrays
object
mais naser
fonte
fonte
push
já foi sugerido várias vezes aqui. Por favor, não polua mais este tópico com outrapush
sugestão.Respostas:
Coloque qualquer coisa em uma matriz usando Array.push ().
Informações extras sobre matrizes
Adicione mais de um item por vez
Adicionar itens ao início de uma matriz
Adicione o conteúdo de uma matriz a outra
Crie uma nova matriz a partir do conteúdo de duas matrizes
fonte
aqui anos matriz está tendo valores como
continua assim.
fonte
Primeiro de tudo, não há
object
ouarray
. ExistemObject
eArray
. Em segundo lugar, você pode fazer isso:Agora
a
será uma matriz comb
seu único elemento.fonte
Usando a
ES6
notação, você pode fazer algo assim:Para anexar, você pode usar o operador de spread assim:
fonte
new array()
enew object()
lançará umReferenceError
pois eles não existem.new Array()
devido ao seu comportamento propenso a erros .Em vez disso, atribua a nova matriz com
= [val1, val2, val_n]
. Para objetos, use= {}
.concat
vez depush
.concat
retorna uma nova matriz, deixando a matriz original intocada.push
modifica a matriz de chamada que deve ser evitada , especialmente se a matriz for definida globalmente.Aplicando esses pontos e para responder às suas duas perguntas, você pode definir uma função como esta:
Uso:
fonte
freeze
) é apenas uma etapa adicional para evitar mutações não intencionais.Expandir a resposta de Gabi Purcaru para incluir uma resposta ao número 2.
fonte
fonte
obejct
é claramente um erro de digitação. Mas ambosobject
earray
precisam de letras maiúsculas.Você pode usar mãos curtas
new Array
enew Object
estas são[]
e{}
Você pode enviar dados para a matriz usando
.push
. Isso o adiciona ao final da matriz. ou você pode definir um índice para conter os dados.fonte
Em resposta alternativa é esta.
se você tiver um array como este:
var contacts = [bob, mary];
e você deseja colocar outra matriz nessa matriz, você pode fazer isso desta maneira:
Declare o construtor da função
faça o objeto da função:
e adicione o objeto à matriz:
fonte
fonte
A maneira como criei o criador de objetos com a lista automática:
fonte
Você está tendo um problema de escopo se usar seu código como tal. Você deve declará-lo fora das funções se planeja usá-lo entre eles (ou, se estiver chamando, passe-o como parâmetro).
fonte