javascript – AngularJS ForEach将新项目推送到对象中

我有一个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");
        });

错误说明:对象#没有方法’推送’

我在这里想念的是什么?

最佳答案
那是因为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;

});

转载注明原文:javascript – AngularJS ForEach将新项目推送到对象中 - 代码日志