4

I am new to Javascript. I have a Javascript object like so:

s = {"Toothless":"Dragon","Foo":"Bar"};

I need to convert it into a series of arrays, like so:

out = [["Toothless","Dragon"],["Foo","Bar"]];

This is the reverse of what is discussed in Convert JavaScript array of 2 element arrays into object key value pairs. A JQuery solution is acceptable.

Community
  • 1
  • 1
Akshat Mahajan
  • 9,543
  • 4
  • 35
  • 44

4 Answers4

10

You can map over the items to achieve this:

    s = {"Toothless":"Dragon","Foo":"Bar"};
    var out = Object.keys(s).map(function(data){
        return [data,s[data]];
    });
    console.log(out);
baao
  • 71,625
  • 17
  • 143
  • 203
5
let s = {"Toothless":"Dragon","Foo":"Bar"};

let out = Object.entries(s);

and you get out as an array of small arrays, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

Suraj Rao
  • 29,388
  • 11
  • 94
  • 103
Kobi
  • 71
  • 1
  • 3
1
var s = {"Toothless":"Dragon","Foo":"Bar"};
var out = [];
for (var key in s){
    out.push([key, s[key]]);
}
0

Try this using jQuery.

var tempArr = [];
s = {"Toothless":"Dragon","Foo":"Bar"};
$.each(s,function(i,v){
 tempArr.push([i,v]);
});
Gagan
  • 130
  • 9