如何在javascript中删除对象的一部分

How to remove a part of an object in javascript

本文关键字:对象 一部分 删除 javascript      更新时间:2023-09-26

这是我的代码:

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

每次用户单击btn按钮时,我都会向数据对象添加一些值。现在我的问题是如何删除具有id = X 的部分

只需使用
x = {id1: "some value"}
delete x.id1

仅此而已

您可以在位置X 使用.splice()

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;
    }
}
const {  whatIDontWant, ...theRest } = everything;
return {theRest};

如果LHS等于RHS,whatIDontWant将从Rest中排除,因为在扩展时评估的对象中的属性是唯一的。因此,Rest是一个没有多余属性的对象。

这里有另一个想法。使用id作为对象中的密钥:

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

然后要删除具有特定id的对象,可以执行以下操作:

delete data[id];

data[id] = null;

将其置零。

通过这种方式,您也可以消除阵列的复杂性。