我进行了很多搜索,但在网上找不到满意的答案。在javascript中,如何根据键值将数组添加到特定位置的另一个多维数组中?
finalArray = []; //final result to be stored here
for(var i=0; i<5; ++i)
{
var temp = [];
for(var j in $scope.team[i])
{
// counter = some value calculated here
temp[j] = $scope.team[i][j][counter];
}
finalArray[group[i]] = temp; // This gives an error
}
基本上,我有
group = [ 'alpha' ,'beta', 'gamma' ]; //this array generated dynamically
我的finalArray应该像
finalArray['alpha'] = [ some records ];
finalArray['beta'] = [ some records ];
....
据我所知,将数组添加到另一个数组的方法是使用.push()方法,但这会创建索引为0、1、2 ...,这是不希望的。请帮帮我
最佳答案
您必须使用对象而不是数组。在代码中进行以下更改
finalArray = {}; //final result to be stored here
for(var i=0; i<5; ++i)
{
var temp = {};
for(var j in $scope.team[i])
{
// counter = some value calculated here
temp[j] = $scope.team[i][j][counter];
}
finalArray[group[i]] = temp;
}
console.log(finalArray); //to see the object key value structure
现在,您可以使用group [i]名称引用finalArray中的值。希望这可以帮助