我正在創建一個離子應用程序。我需要將一個對象的值存儲到另一個變量中;對象數組的名稱是username
。無法訪問Javascript對象
這是username[0]
:
Object {username: "user1"}
這裏我要的username
值存儲到另一個$scope
變量。所以我做了如下:
$scope.username=$scope.username[0].username;
但是,它返回錯誤。爲什麼?以及如何解決它。
我正在創建一個離子應用程序。我需要將一個對象的值存儲到另一個變量中;對象數組的名稱是username
。無法訪問Javascript對象
這是username[0]
:
Object {username: "user1"}
這裏我要的username
值存儲到另一個$scope
變量。所以我做了如下:
$scope.username=$scope.username[0].username;
但是,它返回錯誤。爲什麼?以及如何解決它。
你有一個對象但您嘗試訪問它作爲一個陣列與[0]
,因此將返回undefined
您可以用點號
obj.username
訪問對象
或帶括號的符號
obj["username"]
let username = {
username: "user1"
};
console.log(username.username);
console.log(username['username']);
好吧,如果username
是在你的代碼中的第一個地方一個數組,你寫的:
$scope.username=$scope.username[0].username;
所以要覆蓋現有username
陣列與object
,然後下一次你會撥打$scope.username[0].username
它會失敗並拋出一個錯誤:Can't read property username of undefined
因爲username[0]
是undefined
在這裏。
因此,您需要在範圍中使用不同的變量來引用users
和username
。
試試這個
var obj = {username: "user1"};
$scope.username = obj.username;
,什麼是錯誤? – Roope
我寫了一些對象。有沒有解釋我爲什麼得到否定的投票? – camoflage