1

I have an array of objects and want to remove one object from this array:

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}

i want to remove this object from object array mentioned above.. how can i do that using angularjs or javascript?

AJT82
  • 60,574
  • 21
  • 115
  • 147
Vipin Saini
  • 39
  • 1
  • 1
  • 8
  • _"angularjs or javascript?"_ please learn the difference between them? please? --- Also, look into [`Array.prototype.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) – evolutionxbox Apr 24 '17 at 11:29
  • 1
    Possible duplicate of [How to remove a particular element from an array in JavaScript?](http://stackoverflow.com/questions/5767325/how-to-remove-a-particular-element-from-an-array-in-javascript) – evolutionxbox Apr 24 '17 at 11:32

3 Answers3

1

You can use array filter if id of each object is unique.

Considering id as unique

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)
Jyothi Babu Araja
  • 8,434
  • 3
  • 28
  • 37
0
let index = objectArray.findIndex(object => object.id === singleNode.id);
if (index != -1) {
    objectArray.splice(index, 1);
}
Zucca
  • 441
  • 1
  • 6
  • 15
0

First, find the index of the element you want to remove:

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

Then remove it with splice:

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