【问题标题】:How to remove a part of an object in javascript如何在javascript中删除对象的一部分
【发布时间】:2012-02-20 10:41:19
【问题描述】:

这是我的代码:

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

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

的部分

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

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

    就是这样

    【讨论】:

      【解决方案2】:

      你可以在 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;
          }
      }
      

      【讨论】:

        【解决方案3】:
        const {  whatIDontWant, ...theRest } = everything;
        return {theRest};
        

        让 LHS 等于 RHS,whatIDontWant 被排除在 theRest 之外,因为在传播时评估的对象内的属性的唯一性。因此 theRest 是一个没有不需要的属性的对象。

        【讨论】:

        • 感谢您的回答。你能解释一下这是如何工作的吗?
        【解决方案4】:

        这是另一种想法。使用 id 作为对象中的键:

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

        然后删除具有该特定 id 的对象,您可以这样做:

        delete data[id];

        data[id] = null;

        将其设为空。

        通过这种方式,您也可以消除在那里拥有数组的复杂性。

        【讨论】:

          猜你喜欢
          • 2021-10-15
          • 2013-07-03
          • 2022-12-08
          • 1970-01-01
          • 2010-10-19
          • 2020-12-05
          • 2021-08-11
          • 2016-11-28
          • 2012-11-29
          相关资源
          最近更新 更多