Как удалить часть объекта в javascript

Это мой код:

var data = [];
$("#btn").click(function(){
    total++;
    data.push({        
        id : total,
        "cell": [
            "val1",
            "val2",
            "val3",
        ]
    });
});

Каждый раз, когда пользователь нажимает кнопку btn, я добавляю некоторые значения в объект данных. Теперь мой вопрос заключается в том, как я могу удалить часть с id = X

Ответ 1

Вы можете использовать .splice() в позиции X

var data = [{id : total, "cell" : ["val1", "val2", "val3"]}[, ...repeat];

var X = 0; // position to remove
data.splice(X,1);

расширение:

for (var i=data.length-1; 0 < i; i--) {
    if (data[i].id == X) {
        data.splice(X,1);
        break;
    }
}

Ответ 2

Просто используйте        x = {id1: "some value"}
      delete x.id1

Что об этом

Ответ 3

Вот альтернативная идея. Вместо этого используйте id как ключ в объекте:

var data = {};

$("#btn").click(function(){
    total++;
    data[total] = {
        cell: [
            "val1",
            "val2",
            "val3"
        ]
    };
});

Затем, чтобы удалить объект, который имеет этот конкретный идентификатор, вы можете сделать:

delete data[id];

или

data[id] = null;

чтобы просто удалить его.

Таким образом вы удаляете сложность из наличия там массива.

Ответ 4

const {  whatIDontWant, ...theRest } = everything;
return {theRest};

Пусть LHS равно RHS, whatIDontWant исключен из theRest из-за уникальности свойств внутри объекта. Поэтому theRest является объектом без нежелательного свойства.