数组内的Javascript数组

时间:2015-08-14 11:55:28

标签: javascript

我正在创建一个这样的数组:

var groupUserCounter=[];
groupUserCounter["asd"]=1;
groupUserCounter["asd2"]=2;
var groupC=[];

for(var key in groupUserCounter) {
   groupC.push(key);
}

console.log(groupC);

输出:

Array [ "asd", "asd2" ]

但我需要这样的事情:

Array [ ["asd"], ["asd2"] ]

我怎么能做到这一点?

2 个答案:

答案 0 :(得分:2)

当您将推入 groupC 时,您必须按下一个键阵列,而不仅仅是值。

  var groupUserCounter=[];
  groupUserCounter["asd"]=1;
  groupUserCounter["asd2"]=2;
  var groupC=[];

  for(var key in groupUserCounter) {
     groupC.push([key]);
  }

  console.log(groupC);

修改

更优雅的方法是使用 .keys() .map()方法。

  var groupUserCounter=[];
  groupUserCounter["asd"]=1;
  groupUserCounter["asd2"]=2;

  var groupC = Object.keys(groupUserCounter).map(function(elm){
    return [elm]
  });

  console.log(groupC);

答案 1 :(得分:1)

$ .makeArray()函数将任何对象返回到本机Array.just,如下所示

$.each(groupUserCounter, function(index, value) { 
     groupC.push($.makeArray( value));
});
console.log(groupC);//something like this what u expected Array [ ["asd"], ["asd2"] ]