我的下面代码无效。我想从我的json中删除任何项目。我无法做到这一点。
如何从json中删除任何项目?
var Messages = {};
Messages.data = [{
id: "1",
message: "Message 1"
}, {
id: "2",
message: "Message 2"
}, {
id: "3",
message: "Message 3"
}, {
id: "4",
message: "Message 4"
}];
deleteItem("Message 3");
console.log(Messages.data);
function deleteItem(index) {
var i=0;
for(var prop in Messages.data){
if(index===Messages.data[i].message){
Messages.data.splice(Messages.data[i], i);
}
i++;
}
}
答案 0 :(得分:4)
试试这个:
<j> <l> <n> "jd".
当我们拼接元素时,你需要打破循环,数组的长度减少1
答案 1 :(得分:1)
此行不正确:
Messages.data.splice(Messages.data[i], i);
splice的第一个参数应该是要开始删除的数组的索引,第二个参数是要删除的项目数。因此,您的代码应该是
Messages.data.splice(i, 1);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice