我有一个JavaScript对象,其中包含零售商列表
var listRetailers = [
{"url":"http://www.fake1.com", "img":"images/1logo.jpg"},
{"url":"http://www.fake2.com", "img":"images/2logo.gif"},
{"url":"http://www.fake3.com", "img":"images/3logo.gif"},
]
我想推出一个新密钥:每个项目的价值:
object.push("storeNumber": "1");
因此更新的JavaScript对象将是
var listRetailers = [
{"url":"http://www.fake1.com", "img":"images/1logo.jpg", "storeNumber":"1"},
{"url":"http://www.fake2.com", "img":"images/2logo.gif", "storeNumber":"1"},
{"url":"http://www.fake3.com", "img":"images/3logo.gif", "storeNumber":"1"},
]
在我的角度控制器中,我有
$scope.retailers = listRetailers ;
angular.forEach($scope.retailers, function(obj){
obj.push("storeNumber": "1");
});
错误说明:对象#没有方法'推送'
我在这里缺少什么?
答案 0 :(得分:22)
那是因为obj
引用了您的零售商对象,而不是数组。 If you want to add properties to it,您可以使用括号[]
表示法或使用点.
表示法来定义它们。
angular.forEach($scope.retailers, function(obj){
//Using bracket notation
obj["storeNumber"] = 1;
//Using dot notation
obj.storeNumber = 1;
});