Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从对象(键、值par)创建二维数组_Javascript - Fatal编程技术网

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