I have an array
$scope.headArray=[
'Online & Open Alarms',
'Sites Overview',
'Active Alarms',
'Hidden Alarms'
];
and i have an object:
$scope.dashboardstatus = {
hideDashboard1:true, closeDashboard1:false,
hideDashboard2:true, closeDashboard2:true,
hideDashboard3:false, closeDashboard3:false,
hideDashboard4:false, closeDashboard4:false
}
and i want to create this table :
$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}}
]
I tried this :
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)]}}
);
}
but not work !
How to push data into dashArray?
You can do something like below in order to get final result:
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With