JavaScript:加载 .txt 文件并分割后数组末尾的空元素

标签 javascript

我有一个words.txt 文件,如下所示:

account
arm
cotton
zoo

使用 XMLHttpRequest 加载该文件,使用以下代码创建一个单独包含每一行的数组列表:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    //this is where I split it
    wordlist = this.responseText.split('\n');
  }
};
xhttp.open('GET', 'words.txt', true);
xhttp.send();

然后,我从列表中随机选择一个元素,例如 account,并用 '' 拆分它以获取所有单个字符:

word = wordlist[randomIndex].split('');

我希望结果如下所示:

["a","c","c","o","u","n","t"]

然而,结果是这样的,末尾有一个额外的空字符串:

["a","c","c","o","u","n","t",""]

如何正确摆脱这个问题?

最佳答案

Windows 风格的换行符不仅仅是\n,它们是\r\n。因此,如果您的文件是 Windows 风格创建的,则在\n 处分割仍会留下尾随\r 字符。

您可以在按字符拆分之前简单地 trim 字符串:

word = wordlist[randomIndex].trim().split('');

关于JavaScript:加载 .txt 文件并分割后数组末尾的空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58632194/

相关文章:

javascript - 嵌套 promise 是一种好的做法吗?

javascript - 如何使用 NodeJS Express 服务器在 HTML 中包含 JS 文件?

javascript - 如何使用backbone.js划分JSON集合结果

javascript - Meteor 中新 Web 应用程序的用户访问管理

javascript - If/Else 逻辑顺序 - Javascript 示例 - 请解释这两个代码块之间的区别

javascript - jQuery 将对象数组转换为带键的数组

javascript - react : How to Read a PNG in the client/browser and parse it to PNGJS

javascript - Jquery error() 在 chrome 和 IE 中工作,但在 firefox 中不工作

javascript - 将老式 javascript 实体转换为 ES6 类

javascript - JavaScript 中区 block 哈希的正则表达式