我正在创建一个这样的数组:
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"] ]
我怎么能做到这一点?
答案 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"] ]