Helps obtain an array of keys, values, and key/value pairs (what the spec calls “entries”) from an object, for the purposes of iteration or serialization
npm install babel-plugin-transform-object-enumerablesHelps obtain an array of keys, values, and key/value pairs (what the spec calls
“entries”) from an object, for the purposes of iteration or serialization. See
the proposal for more details
``js`
// Given the current variables:
var results;
var iterSuper = {
foo: 42
};
var iter = Object.create( iterSuper );
iter.bar = 43;
`js
// Before
results = [];
for ( let x in iter ) {
results.push( x );
}
results; // [ "foo", "bar" ]
// After
results = Object.enumerableKeys( iter );
results; // [ "foo", "bar" ] (same order as for loop)
`
`js
// Before
results = [];
for ( let x in iter ) {
results.push( iter[ x ] );
}
results; // [ 42, 43 ]
// After
results = Object.enumerableValues( iter );
results; // [ 42, 43 ] (same order as for loop)
`
`js
// Before
results = [];
for ( let x in iter ) {
results.push( [ x, iter[ x ] ] );
}
results; // [ [ "foo", 42 ], [ "bar", 43 ] ]
// After
results = Object.enumerableEntries( iter );
results; // [ [ "foo", 42 ], [ "bar", 43 ] ] (same order as for loop)
`
`sh`
$ npm install babel-plugin-object-enumerables
.babelrc
`json`
{
"plugins": ["object-enumerables"]
}
`sh`
$ babel --plugins object-enumerables script.js
`javascript``
require("babel-core").transform("code", {
plugins: ["object-enumerables"]
});