Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Удаление объектов из ассоциативного массива по ключу (https://javascript.ru/forum/misc/77262-udalenie-obektov-iz-associativnogo-massiva-po-klyuchu.html)

Untropee 11.04.2019 19:15

Удаление объектов из ассоциативного массива по ключу
 
Здравствуйте! Прошу помощи сижу думаю и гуглю уже долгое время ничего не выходит. Как возможно удалить объекты из массива полностью?
delete оставляет после себя undefined...

Массив объектов выглядит так:

var arr = {
index1: "11.09087",
index2: "11.09500000",
index3: "11.5788404",
index4: "12.80679"
}

как удалить index2? Заранее спасибо...

laimas 11.04.2019 19:34

Цитата:

Сообщение от Untropee
delete оставляет после себя undefined...

:) Это удаление свойства, а undefined, это сообщение, что свойства не существует.

Untropee 11.04.2019 19:35

А возможно полностью удалить index2 не оставляя сообщения?

Чтобы после удаления index2 был объект:

var arr = {
index1: "11.09087",
index3: "11.5788404",
index4: "12.80679"
}

а не

var arr = {
index1: "11.09087",
undefined: undefined,
index3: "11.5788404",
index4: "12.80679"
}


Именно над этой задачей пыхчу уже не один час

laimas 11.04.2019 19:42

Цитата:

Сообщение от Untropee
А возможно полностью удалить index2 не оставляя сообщения?

А оно что по собственной инициативе появляется? Не запрашивайте несуществующее и не будете получать сообщения.

Malleys 11.04.2019 19:44

var arr = {
	index1: "11.09087", 
	index2: "11.09500000", 
	index3: "11.5788404", 
	index4: "12.80679"
};

delete arr.index2;

console.log(arr);


Это undefined свойство на самом деле является строкой, это возможно, только если вы присвоите объекту undefined свойство.
arr.undefined = undefined;
or
let x = void {}; arr[x] = x;
на самом деле есть приведения типа к строке в имени свойства, присваиваемого объекту

Untropee 11.04.2019 20:01

спасибо!!! delete действительно удаляет элемент полностью, проблема у меня была в другом, undefined по другой причине добавлялся... ух бошка уже горит, 3 день не отхожу от экрана

Malleys 11.04.2019 20:09

чувак, ты сумасшедший! Вы должны отдыхать, независимо от того, что вы делаете, вы должны планировать свой отдых, это важно


Часовой пояс GMT +3, время: 11:52.