我已经看到了很大的答案,每个人都给出了完全不同的答案,具有不同程度的复杂性.
我正在尝试这样做:
var tempFiles=[];
tempFiles[req.query.tenant,file.name]=finalName;
Run Code Online (Sandbox Code Playgroud)
我不确定这是否有效.
当我console.log(tempFiles),我得到
[ 'the value for file.name ': 'the value for final name' ]
Run Code Online (Sandbox Code Playgroud)
哪里的价值req.query.tenant去?这是一个合适的2D阵列吗?
你不能使用逗号.你必须有单独的[ ]运营商.
tempFiles[req.query.tenant][file.name]=finalName;
Run Code Online (Sandbox Code Playgroud)
反过来说,您的代码不是语法错误,因为逗号运算符确实存在.您的版本的含义是:
req.query.tenantfile.name另外,请注意,如果您在尝试进行分配之前确实刚刚声明了数组,那么它将无效.您必须明确创建第二个维度:
var tempFiles = [];
tempFiles[ req.query.tenant ] = [];
tempFiles[ req.query.tenant ] [ file.name ] = finalName;
Run Code Online (Sandbox Code Playgroud)
最后,如果涉及的属性名称 - req.query.tenant和file.name- 是字符串,那么你真的不应该使用数组.你应该创建普通对象:
var tempFiles = {};
tempFiles[ req.query.tenant ] = {};
tempFiles[ req.query.tenant ] [ file.name ] = finalName;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |