abu abu
abu abu

Reputation: 7028

Remove value from an Object in JavaScript

I have code like below. I would like to remove verse from verses object.

_self.verses.filter(verse => {
    Object.keys(verse).forEach(function(key) {
       if(! _self.recieved_translation.includes(key))
       {
         // I would like to remove this verse from verses                       
       }
    });
});

Upvotes: 0

Views: 68

Answers (4)

Serge Seredenko
Serge Seredenko

Reputation: 3541

filter skips elements, for which its callback returns false. Just see if you have the problematic key and return according boolean.

_self.verses = _self.verses.filter(verse => {
    // We don't need foreach here, we just need the first key
    var keyWithoutTranslation = Object.keys(verse).find(function(key) {
       return !_self.recieved_translation.includes(key);
    });
    // Now the filter will do the rest
    return keyWithoutTranslation === undefined;
});

Upvotes: 0

Karan
Karan

Reputation: 12619

_self.verses.forEach(verse => delete verse.verse);

Upvotes: 0

Dee
Dee

Reputation: 70

use delete to remove items from obj

Upvotes: 0

mshouman
mshouman

Reputation: 384

_self.verses.filter(verse => {
    Object.keys(verse).forEach(function(key) {
       if(! _self.recieved_translation.includes(key))
       {
              delete verses[verses];                  
       }
    });
});

Upvotes: 2

Related Questions