javascript - 在循环外访问循环内的所有变量

标签 javascript node.js loops variables for-loop

所以我尝试迭代 req.files 这是 req.files 看起来像当我 conosle.log(req.files)

{ logo:
   File {
     domain:
      Domain {
        domain: null,
        _events: [Object],
        members: [Object] },
     path: '/var/folders/v7/qqwh5nds511b28p8r4006pq40000gn/T/upload_3e7a4c1ee6461ad12c70140857d925cc',
     name: 'logo.png',
        },
  homeSliderImage:
   File {
     domain:
      Domain {
        domain: null,
        _events: [Object],
        members: [Object] },
     path: '/var/folders/v7/qqwh5nds511b28p8r4006pq40000gn/T/upload_424f4be7ef9a8cc1331da4ca126cd806',
     name: 'apple.png',
        }
}

这里我有一个循环,我在 req.files 中循环,并且在获得我希望能够获得每个对象的路径后获得对象的 key ( Logo 和 homeSliderImage)。我这样做了,但我希望能够访问该循环之外的这两条路径。如果我在循环之外 console.log(newPath) 它只会记录最后一个 key.path,我想要所有这些。

    var file = req.files

        for (var key in file) {
          if (file.hasOwnProperty(key)) {
            var newPath = req.files[key].path
      
          }
        }

最佳答案

你需要一个集合,比如数组,这个应该在循环之外初始化,这样值就不会每次都重置,比如:

var paths = []; // array to hold all the paths

var file = req.files    

for (var key in file) {
  if (file.hasOwnProperty(key)) {
    paths.push(req.files[key].path); // add the value to the paths array
  }
}

关于javascript - 在循环外访问循环内的所有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45065135/

相关文章:

javascript - 获取 Leaflet FlyTo 回调函数

node.js - npm config-全局vs本地

node.js - 无法使用 webpack 加载 Node 原生插件

javascript - 一次向前和向后一次循环数组?

JavaScript 图形在 Android Web View 中不可见

javascript - 脚本与 JQuery 冲突

node.js - Google Container Engine (Kubernetes) : Websocket (Socket. io) 无法处理多个副本

JavaScript for 循环,innerHTML 在循环执行期间不更新

java - 如何避免时间复杂度O(n^2)?

c# - 原生消息 Chrome