Quelle serait la façon la plus simple de supprimer un objet d'une liste en fonction de la valeur d'une propriété?
Je cherche un équivalent de $ pull dans MongoDB.
Ma liste ressemble à ceci:
[{a: '1' , b: '1'},{a: '2' , b: '2'}]
Et je voudrais supprimer du tableau l'objet dont la propriété a définie sur '1'. Dans MongoDB, je le ferais comme ceci:
Model.update({_id: getCorrectParentObj},{ $pull: {listIDeleteFrom: { a: '1' } } },(err, result)=>{});
Comment puis-je obtenir le même résultat avec ImmutableJS?
Vous pouvez simplement filter
la liste immuable:
var test = Immutable.List.of(Immutable.Map({a: '1'}), Immutable.Map({a: '2'}));
test = test.filter(function(item) { return item.get('a') !== '1' });
Cependant, filter
sur un List
non vide entraînerait une liste immuable différente, donc vous voudrez peut-être vérifier l'occurrence de {a: 1}
première:
if (test.some(function(item) { return item.get('a') === '1'; })) {
test = test.filter(function(item) { return item.get('a') !== '1' });
}