簡體   English   中英

Javascript:通過檢查對象的屬性從數組中刪除它

[英]Javascript: Removing an object from array by checking it's attribute

我可能寫了一個非常混亂的標題,但是我的問題很簡單。

我正在尋找一種從數組中刪除項目的有效方法。 但是我的數組是已被字符串化的完整對象(我正在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” possibleFollowers刪除,我怎么會是能夠做到這一點有效

var string = "…";

var obj = JSON.parse(string);
obj.possibleFollowers = obj.possibleFollowers.filter(function(fol) {
    return fol.followerID != "202";
});
string = JSON.stringify(obj);
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);

在javascript中,splice方法用於按索引刪除數組元素。

見:

http://www.roseindia.net/java/javascript-array/javascript-array-remove-index.shtml

嘗試通過使用“刪除”將其刪除

for (var i in possibleFollowers) {
    if (possibleFollowers[i]['followerId'] == '216') {
        delete possibleFollowers[i];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM