我可能写了一个相当令人困惑的标题,但我的问题很简单。
我正在寻找一种从数组中删除项目的有效方法。但是我的数组是字符串化的完整对象(我在Node.js上编写我的应用程序,而我正在使用 JSON.stringify 方法)。所以我的数组是这样的;
"{\"userID\":\"15\",
\"possibleFollowers\":[
{\"followerID\":\"201\",\"friends\":716},
{\"followerID\":\"202\",\"friends\":11887},
{\"followerID\":\"203\",\"friends\":11887}],
\"name\":\"John\",
\"lon\":\"Doe\"}"
我的问题是关于Javascript(或Node)。如果我想用“followerID:202”删除那些可能的关注者,我怎样才能有效地?
答案 0 :(得分:3)
var string = "…";
var obj = JSON.parse(string);
obj.possibleFollowers = obj.possibleFollowers.filter(function(fol) {
return fol.followerID != "202";
});
string = JSON.stringify(obj);
答案 1 :(得分:2)
var data = "{\"userID\":\"15\",\"possibleFollowers\":[{\"followerID\":\"201\",\"friends\":716},{\"followerID\":\"202\",\"friends\":11887},{\"followerID\":\"203\",\"friends\":11887}],\"name\":\"John\",\"lon\":\"Doe\"}";
var dataObject = JSON.parse(data);
dataObject.possibleFollowers = dataObject.possibleFollowers.filter(function(follower) {
return !(follower.followerID == "202");
});
data = JSON.stringify(dataObject);
答案 2 :(得分:0)
在javascript中,splice方法用于按索引删除数组元素。
见:
http://www.roseindia.net/java/javascript-array/javascript-array-remove-index.shtml
答案 3 :(得分:-1)
尝试使用“删除”
删除它for (var i in possibleFollowers) {
if (possibleFollowers[i]['followerId'] == '216') {
delete possibleFollowers[i];
}
}