我希望用户输入文件名,然后将内容复制到数组中并使用输入文件名保存此数组。这是我正在谈论的代码:
数组“items”表示用户输入。现在这些项目被输入我的函数“einlesen”,它返回带有数据的数组。此数据现在写入相同的数组结果,但我希望将其写入数组“GVZ”,“TAL”和“XPG”。有人可以帮助我吗?
感谢每一个想法:)
尼尔斯
var items = [['GZV', ';', 1, 2], ['TAL', '<|>', 1, 'n'], ['XPG', '<|>', 0, 2]];
var results = [];
items.forEach(function(item) {
einlesen.einlesen(item[0], item[1], item[2], item[3], function(err, result){
results.push(result[1][0]);
console.log(item[0]);
if(results.length == items.length) {
final();
}
})
});
答案 0 :(得分:0)
最好使用对象而不是数组数组:
var items = {
GZV: [...],
TAL: [...],
XPG: [...]
}
for(item in items) {
einlesen.einlesen(...)
}
这样,您可以根据用户输入创建对象属性。用户输入中无法创建变量(假设您的意思是变量名?)。
var newProp = "resultOfInput";
items[newProp] = [...];
console.log(items.resultOfInput) // [...]
如果你这样做,你需要确保对输入进行强有力的验证。例如;如果输入包含任何空格,这将阻止通过点表示法访问属性。更糟糕的是,重复的用户输入可以轻松地覆盖数组中的任何现有属性。