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

VanillaNinja 22.02.2016 15:31

Удаление из json по ключу
 
Добрый день!
Подскажите пожалуйста, как удалять данные из джисона по ключу?
то есть, есть, например Json

[
        {"value":2, "label":"Петров А.Я."},
        {"value":3, "label":"Иванов Ж.Н."},
        {"value":4, "label":"Сидоров В.В."}
]

И хочется удалить человека с "value":3 - Возможно ли это сделать не перебирая весь json, чтобы узнать, какой он по счету, чтобы потом этот индекс запихнуть в сплайс?

VanillaNinja 22.02.2016 15:34

Упс. Отправилось дважды

рони 22.02.2016 16:20

VanillaNinja,
только если раз всётаки перебрать, то потом можно без перебора удалять

рони 22.02.2016 18:00

VanillaNinja,
var arr = [
        {"value":2, "label":"Петров А.Я."},
        {"value":3, "label":"Иванов Ж.Н."},
        {"value":4, "label":"Сидоров В.В."}
]
function fn(b) {
    var c = {};
    b.forEach(function(a, b) {
        c[a.value] = a
    });
    return function(a) {
        a = b.indexOf(c[a]);
        ~a && b.splice(a, 1)
    }
};

fn = fn(arr)
fn(3)//удаление
alert(JSON.stringify(arr));
fn(2)//удаление
alert(JSON.stringify(arr));
fn(4)//удаление
alert(JSON.stringify(arr));


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