Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как удалить объект прототипа по значению свойства? (https://javascript.ru/forum/misc/57295-kak-udalit-obekt-prototipa-po-znacheniyu-svojjstva.html)

A1x1On2015 28.07.2015 19:39

Как удалить объект прототипа по значению свойства?
 
Объекты добавляются динамически с разными значениями свойств:
[tag, tag]
0: tag
idtag: "2"
title: "работа"

1: tag
idtag: "3"
title: "развлечение"
.......

Я хочу удалить объект/ы который/е содержат значение свойства idtag: "3"
Подскажите пожалуйста как это можно реализовать

рони 28.07.2015 19:54

A1x1On2015,
var arr = [{
    idtag: "2",
    title: "работа"
}, {
    idtag: "3",
    title: "развлечение"
}]
arr = arr.filter(function(el) {
    return el.idtag != 3
})
alert(JSON.stringify(arr))

A1x1On2015 29.07.2015 09:42

Цитата:

Сообщение от рони (Сообщение 381963)
A1x1On2015,
var arr = [{
    idtag: "2",
    title: "работа"
}, {
    idtag: "3",
    title: "развлечение"
}]
arr = arr.filter(function(el) {
    return el.idtag != 3
})
alert(JSON.stringify(arr))

//но у меня прототип
var idtag = 0;
    var title = "";
    var arrayOfTags = [];
    var tag = function () {
        this.idtag = idtag;
        this.title = title;
        return this;
    };

// добавляю по клику
    $(".optionTag").live("click", function() {
        idtag = $(this).attr("tabindex");
        title = $(this).html();
        arrayOfTags.push(new tag());
});


как быть с ним?

Rise 29.07.2015 11:58

A1x1On2015,
arrayOfTags = $.grep(arrayOfTags, function (el) { return el.idtag != 3 });

рони 29.07.2015 12:39

Цитата:

Сообщение от A1x1On2015
live

давно уже on а не live

A1x1On2015 30.07.2015 15:41

Цитата:

Сообщение от Rise (Сообщение 382031)
A1x1On2015,
arrayOfTags = $.grep(arrayOfTags, function (el) { return el.idtag != 3 });

Спасибо, то что нужно!:)

рони 30.07.2015 17:41

:-?
непонял чем это
Цитата:

Сообщение от Rise
arrayOfTags = $.grep(arrayOfTags, function (el) { return el.idtag != 3 });

отличается от
Цитата:

Сообщение от рони
arr = arr.filter(function(el) {

то и другое должно работать ? или я ошибаюсь?

Rise 30.07.2015 21:51

рони, работает ;)


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