Задать вопрос
CrewCut
@CrewCut
Коплю силы на переезд в тропики

Как в JS массиве/JSON удалить элемент без следов?

Есть массив в json с такой структурой:
Array
(
    [products] => Array
        (
            [0] => Array
                (
                    [id] => 32501
                    [sku] => 56893
                    [img] => /wp-content/uploads/2015/11/0e27285457b511e5bf4cbb81ee222ed7_634fbb6a590e11e5a5ff902b3442b8e8-78x99.jpg
                    [url] => /tovar/56893/
                    [oprice] => 6300
                    [nprice] => 0
                    [size] => 58
                    [color] => 0
                )

            [1] => Array
                (
                    [id] => 32501
                    [sku] => 56893
                    [img] => /wp-content/uploads/2015/11/0e27285457b511e5bf4cbb81ee222ed7_634fbb6a590e11e5a5ff902b3442b8e8-78x99.jpg
                    [url] => /tovar/56893/
                    [oprice] => 6300
                    [nprice] => 0
                    [size] => 58
                    [color] => 0
                )

            [2] => Array
                (
                    [id] => 32501
                    [sku] => 56893
                    [img] => /wp-content/uploads/2015/11/0e27285457b511e5bf4cbb81ee222ed7_634fbb6a590e11e5a5ff902b3442b8e8-78x99.jpg
                    [url] => /tovar/56893/
                    [oprice] => 6300
                    [nprice] => 0
                    [size] => 58
                    [color] => 0
                )

            [3] => Array
                (
                    [id] => 32501
                    [sku] => 56893
                    [img] => /wp-content/uploads/2015/11/0e27285457b511e5bf4cbb81ee222ed7_634fbb6a590e11e5a5ff902b3442b8e8-78x99.jpg
                    [url] => /tovar/56893/
                    [oprice] => 6300
                    [nprice] => 0
                    [size] => 58
                    [color] => 0
                )
        )

)


Удаляю по индексу элемент на js через delete json.products[2];

В итоге, вместо нужного элемента появляется NULL. Битый час мучаюсь, весь гугл перерыл никак не пойму как исправить.
  • Вопрос задан
  • 4468 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
AppFA
@AppFA
Frontend developer at Yandex
var products = [
    { id: 1, size: 58 },
    { id: 2, size: 68 },
    { id: 3, size: 78 }
];

[].splice(/*индекс который нужно удалить, количество которое нужно удалить начиная с этого индекса*/)

console.log(products.splice(1, 1)) //=> Вернет удаленный объект

console.log(products) //=> Выведет обновленный массив
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы