我有一个数组
$scope.headArray=[
'Online & Open Alarms',
'Sites Overview',
'Active Alarms',
'Hidden Alarms'
];
我有一个对象:
$scope.dashboardstatus = {
hideDashboard1:true, closeDashboard1:false,
hideDashboard2:true, closeDashboard2:true,
hideDashboard3:false, closeDashboard3:false,
hideDashboard4:false, closeDashboard4:false
}
我想创建这个表:
$scope.dashArray = [
{Online & Open Alarms:{hideDashboard1:true,closeDashboard1:false}} ,
{Sites Overview: {hideDashboard2:true,closeDashboard2:true}},
Actives Alarms: {hideDashboard3:false,hideDashboard3:false},
{Hidden Alarms: {hideDashboard4:false,closeDashboard4}}
]
我试过这个:
for (var i=0; i< $scope.headingArray.length; i++){
$scope.dashArray.push({$scope.headingArray[i],
{$scope.dashboardstatus['closeDashboard'(i+1)],$scope.dashboardstatus['hideDashboard'+(i+1)]}}
);
}
但不起作用!
如何将数据压入dashArray?
最佳答案
您可以执行以下操作以获得最终结果:
let headArray=['Online & Open Alarms','Sites Overview','Active Alarms','Hidden Alarms'];
let dashboardstatus = {hideDashboard1:true,closeDashboard1:false,hideDashboard2:true,closeDashboard2:true,hideDashboard3:false,closeDashboard3:false,hideDashboard4:false,closeDashboard4:false}
let result = headArray.map((element, index) => {
let hideKey = `hideDashboard${index+1}`;
let closeKey = `closeDashboard${index+1}`;
return {[element]: {
[hideKey]:dashboardstatus[hideKey],
[closeKey]:dashboardstatus[closeKey]
}}
})
console.log(result);
关于javascript - 如何将json插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50507692/