2017-06-21 18 views
2

這2D陣列是我需要轉換爲一個數組對象:推鍵和它們的值從一個對象到AngularJS

{ 
    "09:00AM - 09:30AM": "booked", 
    "09:30AM - 10:00AM": "notbooked", 
    "10:00AM - 10:30AM": "booked", 
    "10:30AM - 11:00AM": "notbooked", 
} 

這裏的所期望的輸出:

[["09:00AM - 09:30AM","booked"], 
["09:30AM - 10:00AM","notbooked"], 
["10:00AM - 10:30AM","booked"], 
["10:30AM - 11:00AM","notbooked"]] 

我知道我可以將它用於具有鍵或值的一維數組:

angular.forEach($scope.slotss , function(value, key) { 
    this.push(key); 
},$scope.times); 
+1

'Object.keys(OBJ).MAP(密鑰=> [鍵,OBJ [鍵]])'' – Tushar

+0

Object.entries(OBJ )'...完成:p –

回答

2

只需將您的密鑰和值與[]

angular.forEach($scope.slotss , function(value, key) { 
      this.push([key,value]); 
     },$scope.times); 
+0

這應該工作,它很容易 –

1

我會去像這樣的東西:

var newSlots = []; 

angular.forEach($scope.slotss, 
       function(value, key) { 
        newSlots.push([key, value]); 
       }); 
+0

謝謝你的回答,使用蘇雷什的答案適合我。 –

1

使用只有JavaScript,我們可以這樣做。使用for..in循環播放對象。然後創建一個臨時數組來推送對象的鍵和值。然後這個數組推到最後陣列

var curObject = { 
 
    "09:00AM - 09:30AM": "booked", 
 
    "09:30AM - 10:00AM": "notbooked", 
 
    "10:00AM - 10:30AM": "booked", 
 
    "10:30AM - 11:00AM": "notbooked", 
 
}; 
 
var newArray = []; 
 

 
for (var keys in curObject) { 
 
    var tempArray = []; 
 
    tempArray.push(keys, curObject[keys]); 
 
    newArray.push(tempArray) 
 
} 
 
console.log(newArray)

+0

感謝您的回答,使用了Suresh的答案,適合我 –

相關問題