javascript - 从对象中分离键和值

标签 javascript arrays object

我有一个像这样的对象:

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

我想将分成2个不同的数组,这样结果应该是

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

我试过这个:

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

但是结果是

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

我知道会发生这种情况,因为我只迭代了 0 索引位置。任何人都可以建议我一种实现预期输出的方法。

最佳答案

这样试试

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);

关于javascript - 从对象中分离键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30147983/

相关文章:

javascript - 如何在数据表的同一单元格中显示多个值

java - 声明字段的内存分配

java - 在 java/oop 中创建一些对象是什么意思会很昂贵

javascript - Open.window() Document.referrer 从 HTTPS 站点到 HTTP 站点为空

javascript - 在 EmberJS 中如何将属性从一个组件传递到另一个组件?

javascript - 使用 Node.js 的 google-translate-api 库时出现问题

c# - DBNull怎么可能不等于DBNull

c - 结构表

java - 如何在 Java 中实现动态数组堆栈?

c - 为什么下面的代码可以工作?