完全删除JSON中的行

时间:2015-10-14 20:56:49

标签: jquery arrays json

我使用方法删除JSON中的特定行。用户按下按钮,按钮确定要删除的行。我知道传入了正确的索引,但我的问题是,当我尝试删除行时,它只是用java -jar filename替换它,所以还有一些东西存在。如何完全删除它?

null

我生成的JSON:

function removeTest(place) {
    var parsedObject = JSON.parse(localStorage["flexuralStrengthSamples"]);
    delete parsedObject[parseInt(place.data.text)];

    localStorage["flexuralStrengthSamples"] = JSON.stringify(parsedObject);

    console.log(JSON.stringify(parsedObject));

    displaySamples();
}

在这个例子中,我试图删除两个中的第二个。

1 个答案:

答案 0 :(得分:4)

根据您生成的JSON,您有Array [] Objects {}

要从Array中删除某个项目(并更新它length),您必须使用splice

More reading on the delete operator

  

删除数组元素

     

删除数组元素时,数组长度不受影响。即使您删除了数组的最后一个元素,这也成立。

实施例

var arr = [ {name: "Hello"}, {name: "World"} ];

// Delete does not modify an array's length, hence the "undefined"
delete arr[1]; // => [Object, undefined × 1]

// Splice will change the contents of an array and update its length
arr.splice(1,1); // => [Object]