The case is simple - I've got a following object:
Object {1: false, 2: true, 3: false, 4: false, 5: false, 6: false, 7: false, 8: true, 12: false, 13: false, 14: false, 15: false, 16: false, 17: false, 18: false, 19: false}
and I need to get an array of ids that had true value, using underscore. In above case that would be:
[2, 8]
I tried few things but I'm a bit stuck. Does anyone have any idea?
var keys = []; _.each( obj, function( val, key ) { if ( val ) { keys.push(key); } });
There may be easier/shorter ways using plain Underscore.
In case anyone here uses Lodash instead of Underscore, the following is also possible, which is very short and easy to read:
var keys = _.invert(obj, true)[ "true" ];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With