Eu tenho um array associativo armazenado em outro array associativo. Eu sei como emendar um valor específico em apenas uma matriz regular como tal:
arr.splice(arr.indexOf("specific"), 1);
Eu queria saber como se poderia emendar uma matriz como esta:
arr["hello"]["world"]
EDITAR Isso encurtaria hello["world"]["continent"]
var hello = {};
hello["world"] = {};
hello["world"]["continent"] = "country";
delete hello["world"]["continent"];
alert(hello["world"]["continent"])
Respostas:
2 para resposta № 1Você deve ser capaz de apenas usar a palavra-chave delete.
delete arr["hello"]["world"]
Como faço para remover objetos de um array associativo de javascript?
Editar, com base em outros comentários:
Por uma questão de legibilidade, você também pode fazer:
delete arr.hello.world
Como estamos falando apenas de objetos, e não de matrizes tradicionais, não há comprimento de matriz. Você pode, no entanto, excluir uma chave de um objeto.
1 para resposta № 2
JavaScript não possui matrizes associativas.
Use objetos:
var x = {
a : 1,
b : 2,
c : {
a : []
}
}
delete x.c.a;
0 para resposta № 3
Um "array associativo" em javascript não é na verdade um array, é apenas um objeto que possui propriedades definidas nele. Foo["Bar"]
é a mesma coisa que Foo.Bar
. Então você não pode realmente falar sobre corte ou comprimento aqui.