我使用方法删除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();
}
在这个例子中,我试图删除两个中的第二个。
答案 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]