我在Angular控制器中使用下劃線,並嘗試將字符串轉換爲具有多個屬性的對象。將字符串轉換爲_.each中的對象
vm.availableGames = _.each(availableGames, function(game) {
game.name = game;
if (_.contains(user.allowed_games.games, game)) {
game.allowed = true;
} else {
game.allowed = false;
}
});
availableGames
是可用遊戲中字符串數組 allowed_games
也是允許的比賽字符串數組
我的目標是創建一個對象數組(vm.availableGames
),它包含了所有可用的遊戲。每個對象都有一個名稱屬性(原始字符串)和一個允許的屬性(一個布爾值)。
以上代碼導致出現Cannot assign to read only property...
錯誤。我將如何去完成我所瞄準的目標而不會遇到這個錯誤?
'_.each'不返回任何東西。你可以使用'_.map'代替(和'return game;'在你的if/else塊之後) – Matt
@Matt,我仍然遇到同樣的錯誤,因爲我仍然試圖分配屬性('name','allowed' )到一個字符串'遊戲'。但是,如果我設置一個新的空對象('var gm = {}'),然後執行'gm.name = game',它就會起作用。感謝您指點我正確的方向。 – MattDionis