我正在创建这样的数组:

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"] ]


我该如何实现?

最佳答案

将键推入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);

08-25 13:10