Separate keys and values ​​from object

advertisements

I have an object like :

var obj1 = [{ first : 1, second : 2 },
            {third : 3, fourth : 4},
            {fifth : 5, sixth : 6}];

I want to separate the keys and values into 2 different arrays such that the result should be

var labels = [first, second, third, fourth, fifth, sixth];
var values = [1,2,3,4,5,6];

I tried this :

var labels = [];
var values = [];
for(var key in obj1[0]){
    labels.push(key);
    values.push(obj1[0][key]);
}

But it results in

labels = ["first","second"];
values = [1,2];

I know this happens because I am iterating only the 0 index position. Can anyone suggest me a way to achieve the expected output.


Try like this

var obj1 = [{ first : 1, second : 2 },
            {third : 3, fourth : 4},
            {fifth : 5, sixth : 6}]; 

var key=[];
var value=[];
obj1.forEach(function(item){

  for(i in item)
  {
    key.push(i);
    value.push(item[i]);
  }

});

console.log(key);
console.log(value);