繁体   English   中英

通过将字符串附加到对象来生成javascript对象名称

[英]Generate javascript object name by appending string to object

我得到一个Javascript对象req.files 该对象下可以有多个文件。 req.files是一个object 而不是一个 array

因此,如果用户添加了三个文件,该对象将如下所示:

req.files.file0
req.files.file1
req.files.file2

其中file0, file1等是另一个对象。

用户最多可以添加15个文件。 如何检查这些对象的循环并从req.files.fileX读取信息? 我需要支持IE 11和chrome。

您可以使用括号表示法通过字符串访问对象的属性。 尝试这个:

for (var i = 0; i < Object.keys(req.files).length; i++) {
    var file = req.files['file' + i];
    if (file) {
        // use file here...
    }
}

示例小提琴

所以我假设您的req对象如下所示:

var req = {
  files: {
    file0: {},
    file1: {},
    file2: {},
    //...
    file14: {}
  }
};

如果是这样,您可以像这样引用文件: req.files['file0']

所以你的循环看起来像这样:

for (prop in req.files) {
    var file = req.files[prop];
}

但你甚至不需要使用循环:

var getReqFile = function(x){
  return req.files['file' + x] || null;
}
var file = getReqFile(5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM