簡體   English   中英

如何從angularjs中的對象數組中刪除對象

[英]How to remove an object from Object array in angularjs

我有一個對象數組,想從該數組中刪除一個對象:

var objectArray = [{"id":"John Doe","label":"John Doe","shape":"image","image":"app/data/img/user_icon.png","color":{"background":"#db630d","border":"#7c3400"},"level":0},{"id":"JavaScript","label":"JavaScript","size":30,"shape":"dot","color":{"background":"#00637c"},"level":1},{"id":"C#","label":"C#","size":40,"shape":"dot","color":{"background":"#00637c"},"level":1},{"id":"css","label":"css","size":40,"shape":"dot","color":{"background":"#00637c"},"level":1},{"id":"develop","label":"develop","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2},{"id":"programming","label":"programming","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2},{"id":"frontend","label":"frontend","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2}]

var singleNode = {"id":"frontend","label":"frontend","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2}

我想從上述對象數組中刪除該對象。如何使用angularjs或javascript做到這一點?

如果每個對象的id是唯一的,則可以使用數組filter

id視為唯一

 var objectArray = [{"id":"John Doe","label":"John Doe","shape":"image","image":"app/data/img/user_icon.png","color":{"background":"#db630d","border":"#7c3400"},"level":0},{"id":"JavaScript","label":"JavaScript","size":30,"shape":"dot","color":{"background":"#00637c"},"level":1},{"id":"C#","label":"C#","size":40,"shape":"dot","color":{"background":"#00637c"},"level":1},{"id":"css","label":"css","size":40,"shape":"dot","color":{"background":"#00637c"},"level":1},{"id":"develop","label":"develop","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2},{"id":"programming","label":"programming","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2},{"id":"frontend","label":"frontend","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2}] var singleNode = {"id":"frontend","label":"frontend","size":40,"shape":"box","color":{"background":"#65f759","border":"#65f759"},"level":2} var filteredArray = objectArray.filter(function(item){ return item.id !== "frontend"; }); console.log(filteredArray) 

let index = objectArray.findIndex(object => object.id === singleNode.id);
if (index != -1) {
    objectArray.splice(index, 1);
}

首先,找到要刪除的元素的index

var array = [2, 5, 9];
var index = array.indexOf(5);

然后使用splice將其移除:

if (index > -1) {
    array.splice(index, 1);
}

暫無
暫無

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

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