I have a below JavaScript
var arr = [];
arr.push({0:\'Zero\'});
arr.push({1:\'One\'});
console.log(Object.keys(arr));
console.log(Object.values(arr)); //Not
You can use .flatMap to get the keys/values from your objects (in the form of an array) and then flatten the array into your result:
const arr = [];
arr.push({0: 'Zero'})
arr.push({1: 'One'})
console.log(arr.flatMap(Object.keys));
console.log(arr.flatMap(Object.values));
However, please note, .flatMap
is has limited browser support and so it may not work in all browsers. Instead, if you cannot use .flatMap
and want a more stable solution you can use .reduce:
const arr = [];
arr.push({0: 'Zero'});
arr.push({1: 'One'});
console.log(arr.reduce((acc, obj) => [...acc, Object.keys(obj).shift()], []));
console.log(arr.reduce((acc, obj) => [...acc, Object.values(obj).shift()], []));