2016-01-31 38 views
0

我創建混合應用程序,我試圖創建一個字符串作爲索引的對象,它在現代瀏覽器中工作正常,但是當我在Android 4.1版本中測試我的代碼時,它拋出錯誤未捕獲的語法錯誤:意外的標識符, 情景是,用戶可以擁有2-3個地址,我想以他們的標題存儲,如「家庭」,「辦公室」,「其他」等,$ scope.objaddr.title持有任何價值的家庭,辦公室或其他。我如何更改此代碼以使其在所有版本中都能正常工作?未捕獲的SyntaxError:意外的標識符,存儲字符串作爲索引

var auth = { 
    uid : user.uid, 
    token : user.token, 
    fname : user.fname, 
    lname : user.lname, 
    email : user.email, 
    mobile : user.mobile, 
    addrs : { [$scope.objaddr.title] : 
     { 
     id  : $scope.objaddr.id, 
     title : $scope.objaddr.title, 
     address: $scope.objaddr.address, 
     pin : $scope.objaddr.pin 
     } 
    } 
}; 
$window.localStorage["auth"] = JSON.stringify(auth); 
+5

的可能的複製[使用一個變量在JavaScript的關鍵對象常量](http://stackoverflow.com/questions/2274242/using-a-variable-for-a-key- in-a-javascript-object-literal) – Daedalus

回答

0
var addrs = {}; 

var auth = { 
    uid : user.uid, 
    token : user.token, 
    fname : user.fname, 
    lname : user.lname, 
    email : user.email, 
    mobile : user.mobile, 
    addrs : addrs 
} 

    addrs[$scope.objaddr.title] = 
    { 
    id  : $scope.objaddr.id, 
    title : $scope.objaddr.title, 
    address: $scope.objaddr.address, 
    pin : $scope.objaddr.pin 
    } 
+0

它的工作!謝謝 –

+1

儘管這個答案有效,但是傾銷代碼並不總是最好的主意;它總是很好解釋爲什麼你的代碼工作。 – Daedalus

相關問題