Javascript 如何从对象(键、值par)创建二维数组
例如,我有一个对象:Javascript 如何从对象(键、值par)创建二维数组,javascript,Javascript,例如,我有一个对象: o = {a: 1, b: 2, c: 3} 我需要编写返回2d数组的函数: arr = [['a', 'b', 'c'], [1, 2, 3]]; 现在我有了创建简单数组的函数,但我不知道如何从那个里开始,我并没有找到知识。职能: function keysAndValues(o){ var arr= []; for(key in data) { arr.push(key); //or arr.push(data
o = {a: 1, b: 2, c: 3}
我需要编写返回2d数组的函数:
arr = [['a', 'b', 'c'], [1, 2, 3]];
现在我有了创建简单数组的函数,但我不知道如何从那个里开始,我并没有找到知识。职能:
function keysAndValues(o){
var arr= [];
for(key in data)
{
arr.push(key);
//or
arr.push(data[key]);
}
return arr;
};
如何创建二维阵列
编辑
所有的答案都是正确的,我学到了一些新的东西。非常感谢大家。坏的是只有一个人能得到绿色箭头,所以它会去给第一个给出答案的人
function keysAndValues(o){
var arr = new Array([] ,[]);
for(key in o)
{
arr[0].push(key);
arr[1].push(o[key]);
}
return arr;
};
您基本上需要一个包含两个数组的数组:
0:所有键
1:所有值
因此,将所有键推入arr[0]并将所有值推入arr[1]需要有三个数组,一个外部数组包含索引0和1处的两个数组。然后,只需推送到相应的阵列:
function keysAndValues(data){
var arr= [[],[]]; //array containing two arrays
for(key in data)
{
arr[0].push(key);
arr[1].push(data[key]);
}
return arr;
};
JS Fiddle:您可以使arr成为一个最初包含2个空数组的数组,然后将元素推入这些数组中
function keysAndValues(data) {
var arr = [[], []];
for (key in data) {
if (data.hasOwnProperty(key)) {
arr[0].push(key);
arr[1].push(data[key]);
}
}
return arr;
}
我将采用图书馆的方法,因为每个人都使用下划线和 将返回o键,而
_.values(o)
将返回o值。所以从这里你可以
arr = [_.keys(o), _.values(o)]
您可以使用循环在对象上迭代,将键和值添加到各个数组中,并返回包含这两个生成数组的数组:
var o = {a: 1, b: 2, c: 3}
function keyValueArray (o) {
var keys = [];
var values = [];
for (var k in o ) {
keys.push(k);
values.push(o[k]);
}
return [keys,values]
}
keyValueArray(o);
var o = {a: 1, b: 2, c: 3}
function keyValueArray (o) {
var keys = [];
var values = [];
for (var k in o ) {
keys.push(k);
values.push(o[k]);
}
return [keys,values]
}
keyValueArray(o);