【发布时间】:2019-11-04 09:14:17
【问题描述】:
我更改了line[s] 的值,以删除地图外的所有;,但地图内的line[s] 仍然包含;。
const keys = Object.keys(x[0]);
csv += `${keys.join(',')}\n`;
x.forEach((line) => {
line[s] = line['s'].replace(';', '%3B')
console.log(line.signalFormula)
csv += `${keys.map((key) => line[key]).join(',')}\n`;
})
更新 我的代码现在看起来像这样
const keys = Object.keys(x[0]);
csv += `${keys.join(';')}\n`;
x.forEach((line) => {
line[keys[2]] = line[keys[2]].split(';').join('%3B');
console.log(line[keys[2]])
csv += `${keys.map((key) => line[key]).join(';')}\n`;
}
console.log(line[keys[2]]) 这给出了正确的值,但在文件中它不正确。
【问题讨论】:
-
s是变量吗?line[s]和line['s']是不同的东西。 -
如果一行有多个
;,您的代码只会将第一个;替换为%3B
标签: javascript dictionary foreach scope