У мене є асоціативний масив, що зберігається в іншому асоціативному масиві. Я знаю, як з'єднати конкретне значення лише у звичайному масиві як такому:
arr.splice(arr.indexOf("specific"), 1);
Мені було цікаво, як можна сплести такий масив:
arr["hello"]["world"]
РЕДАГУВАТИ Чи це скоротить hello["world"]["continent"]
var hello = {};
hello["world"] = {};
hello["world"]["continent"] = "country";
delete hello["world"]["continent"];
alert(hello["world"]["continent"])
Відповіді:
2 для відповіді № 1Ви повинні мати можливість просто використовувати ключове слово видалення.
delete arr["hello"]["world"]
Як видалити об'єкти з асоціативного масиву javascript?
Редагувати, грунтуючись на інших коментарях:
Для читабельності ви також можете:
delete arr.hello.world
Оскільки ми справді просто говоримо про об'єкти, а не про традиційні масиви, довжини масиву немає. Однак ви можете видалити ключ з об'єкта.
1 для відповіді № 2
У JavaScript немає асоціативних масивів.
Використовуйте об'єкти:
var x = {
a : 1,
b : 2,
c : {
a : []
}
}
delete x.c.a;
0 для відповіді № 3
"Асоціативний масив" в JavaScript не є насправді масивом, це просто об'єкт, на якому встановлені властивості. Foo["Bar"]
це те ж саме, що і Foo.Bar
. Тому ви не можете реально говорити про нарізку або довжину тут.