You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript/Node.js遍历数组拼接模板字符串输出异常如何解决

问题原因

你读取的是Windows格式的文本文件,换行符为\r\n,使用\n分割字符串后,每个数组元素末尾都会残留\r(回车符)。
回车符的终端表现是将光标移动到当前行的开头,因此打印时\r后的&structure=...内容会覆盖掉此前输出的URL前缀,最终呈现出输出不完整的效果。最后一个元素是文件末尾行,后面没有换行符,没有残留\r,因此输出正常。

解决方法

第一步:清理数组元素的无效字符

修改文件内容分割逻辑,兼容跨系统换行格式,同时清理元素首尾的空白字符:

// Get LTLAs from file
var fs = require("fs");
var text = fs.readFileSync("./LTLAs.txt", 'utf8');
// 正则匹配两种换行格式,trim清除首尾空白(包括\r、空格等)
var LTLAs = text.split(/\r?\n/).map(item => item.trim());

第二步(可选优化):URL参数编码

拼接URL时对参数值做编码处理,避免名称中的空格、特殊符号导致URL格式不合法:

for (let i = 0; i < LTLAs.length; i++)
{
    // 对areaName的值做URL编码
    const areaName = encodeURIComponent(LTLAs[i]);
    const endpoint = `https://api.coronavirus.data.gov.uk/v1/data?filters=areaType=ltla;areaName=${areaName}&structure={"ltla":"areaName","date":"date","Rate":"newCasesBySpecimenDateRollingRate"}`;
    console.log(endpoint);
}

修改后运行即可得到所有格式统一的输出结果。


内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:36:03