I have an object like this:
var myObj = {
a: 1,
b: 2,
c: 3,
d: 4
};
And i want to convert that object to a multi-dimensional array like this:
var myArray = [['a', 1], ['b', 2], ['c', 3], ['d', 4]];
How could i achieve this?
Vadim Kotov
8,2848 gold badges51 silver badges63 bronze badges
2 Answers 2
You can use Object.entries function.
var myObj = { a: 1, b: 2, c: 3, d: 4 },
myArray = Object.entries(myObj);
console.log(JSON.stringify(myArray));
...or Object.keys and Array#map functions.
var myObj = { a: 1, b: 2, c: 3, d: 4 },
myArray = Object.keys(myObj).map(v => new Array(v, myObj[v]));
console.log(JSON.stringify(myArray));
answered Apr 28, 2017 at 23:39
kind user
42k8 gold badges69 silver badges78 bronze badges
Sign up to request clarification or add additional context in comments.
2 Comments
EyuelDK
NOTE: Object.entries is not ubiquitously implemented - it is still experimental. See developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Karla Danitza Duran Memijes
You saved my life!, I didn't remember it!
var myArray = [];
var myObj = { a: 1, b: 2, c: 3, d: 4 };
for(var key in myObj) {
myArray.push([key, myObj[key]]);
}
console.log(JSON.stringify(myArray));
answered Apr 28, 2017 at 23:40
EyuelDK
3,2392 gold badges21 silver badges28 bronze badges
Comments
Explore related questions
See similar questions with these tags.
lang-js
var arr = Object.keys(myObj).map(k => [k, myObj[k]]);