【发布时间】:2019-07-13 09:13:30
【问题描述】:
我正在逐行读取文件并将每一行分配给一个键控数组。我的文件的每一行都以它们的键开头(例如 name=,text=)。 我想将每一行分配给一个数组,而不必手动输入每个键。
示例:
rd.on('line', function(line) {
line = line.split('=');
let key = line[0];
line.shift();
line = line.join(' ');
array.name = line;
// ... Next loop
line = line.split('=');
let key = line[0];
line.shift();
line = line.join(' ');
array.text = line;
});
这不是我想要的
据我所知,模板文字只能在 `'d 字符串 (console.log(${key})) 中使用,但我希望有一些我无法通过搜索找到的解决方法。
我想工作的代码在这里:
rd.on('line', function(line) {
line = line.split('=');
let key = line[0];
line.shift();
line = line.join(' ');
array.${key} = line;
});
我知道array.${key} 是无效语法,我希望这里的人对我将如何实现我想要的有所了解。
提前致谢!
【问题讨论】:
-
你不能使用 array[key] 吗?像字典一样?
-
一个“键控数组”听起来很像“一个以键为属性名称的对象,其值为数组”,又名
{ name: [], text: [] }研究括号访问器与点访问器 -
这是一个很好的观点,Sanka,我不知道为什么在我一直在寻找解决方案的最后一个小时里没有想到这一点。这非常适合将每一行分配给一个键
-
如果有多个
=符号,则.join(' ')将用空格替换其余的符号。这真的是你想要的吗? -
不,这不是 Ry,我在我的待办事项列表中将其作为修复,因为它不是优先事项
标签: javascript node.js template-literals