const object = {1: 'a', 2: 'b', 3: 'c'};
// convert to the array keys
let array =Object.keys(object);
// index is based on zero
let newArray = array.map((item, index) => {
console.log(`Item => "${item}", Index => ${index}`);
return item * 2;
});
// newArray will be [2, 4, 6]
// simple array
const arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']
// array-like object
const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']
// array-like object with random key ordering
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']
// getFoo is a property which isn't enumerable
const myObj = Object.create({}, {
getFoo: {
value: function () { return this.foo; }
}
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']