Ας πούμε ότι έχουμε ένα αντικείμενο με αυτή τη μορφή:
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Ήθελα να κάνω μια συνάρτηση που να αφαιρεί με βάση το κλειδί:
removeFromObjectByKey('Cow');
Ο τελεστής delete
σας επιτρέπει να αφαιρέσετε μια ιδιότητα από ένα αντικείμενο.
Τα παρακάτω παραδείγματα κάνουν όλα το ίδιο πράγμα.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Αν σας ενδιαφέρει, διαβάστε Understanding Delete για μια λεπτομερή εξήγηση.
Αν χρησιμοποιείτε το Underscore.js ή το Lodash, υπάρχει μια συνάρτηση 'omit' που θα το κάνει.
http://underscorejs.org/#omit
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
_.omit(thisIsObject,'Cow'); //It will return a new object
=> {'Cat' : 'Meow', 'Dog' : 'Bark'} //result
Αν θέλετε να τροποποιήσετε το τρέχον αντικείμενο, αναθέστε το αντικείμενο επιστροφής στο τρέχον αντικείμενο.
thisIsObject = _.omit(thisIsObject,'Cow');
Με καθαρή JavaScript, χρησιμοποιήστε:
delete thisIsObject['Cow'];
Μια άλλη επιλογή με καθαρή JavaScript.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
Είναι τόσο εύκολο όσο:
delete object.keyname,
ή
``js delete object["keyname"],