2014-01-23 45 views
0

本來我的問題是How to Remove Object from jQuery array。 <找到了答案,來自@nnnnnn。使用$.grep如何從Array中移除對象並保存以備後用?

我現在的新問題是,你將如何保存剛纔刪除的對象?

原因是我希望能夠將保存的對象推回到陣列中,如果用戶決定保留它。

networks陣列:

控制檯:
networks array = [object Object],[object Object]

networks: Array[2] 
    0: Object 
     count: 1 
     id: "6" 
     label: "CompanyName" 
     type: "Organization" 

    1: Object 
     count: 1 
     id: "12622" 
     label: "MyGroup" 
     type: "Group" 

從我使用這個在網絡看陣列對方的回答,找到對象與類型「組織」並將其刪除。

networks = $.grep(networks, function(o,i) { return o.type === "Organization"; }, true);

有沒有一種簡單的方法來保存整個對象?所以它可以推回去?

感謝您的參觀!

+0

在從回調中返回之前,請將對象保存在變量中。這不是超級乾淨,但工程。 –

+0

感謝您的提示,我只是實際上運行此功能和'$ .grep'沒有刪除對象形式的功能:(可能回到廣場1 –

+0

哦等待大聲笑,它的工作'輸入不名字.. ..好的,我會嘗試你推薦的 –

回答

3

您可以將回調中的對象分配給一個變量。這不是一個很乾淨的解決方案,因爲這樣的回調應該不會有副作用海事組織,但它的作品不做大改動代碼:

var obj; 
networks = $.grep(networks, function(o,i) { 
    if (o.type === "Organization") { 
     obj = o; 
     return true; 
    } 
    return false; 
}, true); 

或短一點(和更加混亂的人誰不不知道逗號運算符):

var obj; 
networks = $.grep(networks, function(o,i) { 
    return o.type === "Organization" ? ((obj = o), true) : false; 
}, true); 
+0

謝謝,工作真棒:) –

+0

我想要的另一件事,那裏將是數組中每個對象的單獨按鈕。如果我想刪除點擊數組按鈕中的特定對象。怎麼做 。我用角js ng-repeat生成項目。你可以幫我嗎 –

相關問題