【问题标题】:updating outer variable inside angular forEach更新角度 forEach 内的外部变量
【发布时间】:2015-11-05 00:34:39
【问题描述】:

我正在尝试更新 angular forEach 内的外部变量。这是代码。

var resultMap = {};   
angular.forEach(originalMap, function(value, key) { 
   resultMap[key] = value; 
  }, resultMap);
console.log(resultMap);

不知道为什么 resultMap 在执行 forEach 块后还是空的。我有什么遗漏的吗?

更新—— 为简单起见,我没有在这里提到整个代码。在forEach里面我会写一些条件来填充resultMap。

【问题讨论】:

    标签: javascript angularjs scope angularjs-scope


    【解决方案1】:

    您正在尝试克隆对象,因此请使用 angular.copy 而不是 angular.forEach

    var resultMap  = angular.copy(originalMap);
    

    如果你还想使用 for-each

    angular.forEach(originalMap, function (value, key) {
          this[key] = value; //change resultMap to this
      }, resultMap);
    

    【讨论】:

      【解决方案2】:

      我不知道您是如何检查的,但您的代码只能在这里正常工作。检查下面的链接

      var resultMap = {};   
      var originalMap = {
          id: 20,
          email: 'some@some.com'
      };
      angular.forEach(originalMap, function(value, key) { 
         resultMap[key] = value; 
        }, resultMap);
      console.log(resultMap);
      

      jsfiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-12
        • 2016-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多