Javascript 从对象中分离键和值
我有一个物体像:Javascript 从对象中分离键和值,javascript,arrays,object,Javascript,Arrays,Object,我有一个物体像: var obj1 = [{ first : 1, second : 2 }, {third : 3, fourth : 4}, {fifth : 5, sixth : 6}]; 我想将键和值分成两个不同的数组,这样结果应该是 var labels = [first, second, third, fourth, fifth, sixth]; var values = [1,2,3,4,5,6]; 我试过这个: var la
var obj1 = [{ first : 1, second : 2 },
{third : 3, fourth : 4},
{fifth : 5, sixth : 6}];
我想将键
和值
分成两个不同的数组
,这样结果应该是
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},
{第三:3,第四:4},
{fifth:5,sixth:6}];
var键=[];
var值=[];
obj1.forEach(功能(项目){
第(i)项
{
按键(i);
价值推送(第[i]项);
}
});
控制台日志(键);
console.log(值)代码>像这样试试
var obj1=[{first:1,second:2},
{第三:3,第四:4},
{fifth:5,sixth:6}];
var键=[];
var值=[];
obj1.forEach(功能(项目){
第(i)项
{
按键(i);
价值推送(第[i]项);
}
});
控制台日志(键);
console.log(值)代码>用于(变量i=0;i
用于(变量i=0;i
jquery可以使用吗?@pc shooter我在想一个纯javascript解决方案。但是,如果jquery提供了一个更好的解决方案,那么使用jquery就可以了。jquery是否可以使用?@pc shooter我在想一个纯javascript解决方案。但是如果jquery提供了一个更好的解决方案,那么使用jquery就可以了。没有办法避免2个for循环吗?你的一个是数组对象。如果你想从你的数据列表中得到所有的对象,你必须迭代整个对象。没有办法避免2个for循环?你的一个是数组对象。如果要从数据列表中获取所有对象,必须迭代整个对象
for (var i = 0; i < obj1.length; i++) {
for (var key in obj1[i]) {
labels.push(key);
values.push(obj1[i][key]);
}
}