Skip to content Skip to sidebar Skip to footer

Removing Element From Object Array With Linq.js

I have started using linq.js a while ago, and found it very useful, but there's an issue I really can't solve somehow. I'm using angular, and I have a simple json array with the fo

Solution 1:

With linq.js, you need do convert the data ToDictionary, get the wanted item with Single from enumerable and remove the item.

Then you have to rebuild the array again from dictionary via enumerable and select to array.

Et voilĂ !

var data = [{ id: 1, name: 'John', age: 20}, { id: 2, name: 'Josh', age: 34}, { id: 3, name: 'Peter', age: 32}, { id: 4, name: 'Anthony', age: 27}],
    enumerable = Enumerable.From(data),
    dictionary = enumerable.ToDictionary();

dictionary.Remove(enumerable.Single(s => s.id === 3));
console.log(dictionary.ToEnumerable().Select(s => s.Key).ToArray());
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/linq.js/2.2.0.2/linq.js"></script>

Solution 2:

   //assuming your sample data
    var vm = {};
    vm.people = [
      { id: 1, name: 'John', age: 20},
      { id: 2, name: 'Josh', age: 34},
      { id: 3, name: 'Peter', age: 32},
      { id: 4, name: 'Anthony', age: 27},
    ];

    //just loop through and delete the matching object
    this.removePerson = function(id) {
      for(var i=0;i<vm.people.length;i++){
          if(vm.people[i].id == id){
          vm.people.splice(i, 1);//removes one item from the given index i
          break;
          }
      }
    };

JSBin here


Post a Comment for "Removing Element From Object Array With Linq.js"