2
关注
1554
浏览

定义循环外该功能

查看全部 1 个回答

南山磨刀Mars 未验证用户 用户来自于: 广东省
2020-09-16 04:07

你怎么样定义它的循环

var mapFunction = function (item) { 
        return item.id; 
       }; 
for (var entry in metadata) { 
    if (metadata.hasOwnProperty(entry)) { 
     var varName = metadata[entry].variableName; 
     if (metadata[entry].multipleValues === "false") { 
      if (angular.isDefined(vm[varName]) && (vm[varName] !== null) && vm[varName].id !== null) { 
       filters.push(factory.buildEntry(metadata[entry].variableName, vm[varName].id, null, factory.filterOperators.textContains)); 
      } 
     } else { 
      if (angular.isDefined(vm[varName]) && (angular.isArray(vm[varName])) && (vm[varName].length > 0)) { 
       filters.push(factory.buildEntry(metadata[entry].variableName, null, vm[varName].map(mapFunction), factory.filterOperators.textContains)); 
      } 
     } 
    } 
} 

您可以指定功能的变量,然后将该变量当作一个函数

var foo = function(){console.log('bar')}; 
 
foo();

你的情况之外将映射函数分配给一个变量,然后将该变量传递给.map()也可以提高效率因为每次循环运行时函数都不必重新实例化。它可以重复使用相同的功能。

一旦封闭函数结束执行循环,变量就不复存在。

关于作者

问题动态

发布时间
2020-09-15 15:51
更新时间
2022-09-15 16:04
关注人数
2 人关注
个人工作笔记 Powered BY WeCenter V4.1.0 © 2024 粤ICP备2020123311号