【发布时间】:2020-03-04 15:31:52
【问题描述】:
我正在尝试使用 JavaScript 提取文本文件并将其转换为字符串。我得到了这个工作,但我想把那个字符串变成一个带有逗号或连字符的数组。到目前为止,这是我在 HTML 页面上将单词拆分为单独元素的内容
function title() {
fetch('Text.txt')
.then(response => response.text())
.then(text => name = text)
.then(name => name.toUpperCase());
return(name);
};
function append(text, id) {
var p = document.createElement('P');
p.id = 'title' + id;
p.innerHTML = text;
document.getElementById('imgcont').appendChild(p);
};
function getName() {
name = title();
name.split("-");
append(name[0], 1);
append(name[1], 2);
};
文本文件将包含类似这样的内容
Fighers-Conro
我正在尝试将其附加到 2 个 HTML 元素,并且效果很好,但是每次查看输出时,我都会在第一个元素上看到字母“F”,在第一个元素上看到字母“i” html 页面中的第二个元素。我更深入地研究了它,并使用了console.log(Array.isArray(name));,它返回 False,但自制数组返回 True。
我可能犯了一个小错误,但我找不到问题所在。任何帮助将不胜感激!
【问题讨论】:
-
name.split("-")返回一个数组,它不会在原地修改name;所以name.split('-')[0]会给你你想要的;或者您可以将结果分配给另一个变量。 -
你不能像
fetch这样的异步函数返回值。 -
let nameArr = name.split('-');append(nameArr[0], 1);append(nameArr[1], 2); -
@Ja͢ck 其实谢谢....我对此完全视而不见。
-
@Cerbrus 我能够使用上面的标题函数从文本文件中获取字符串。那时我并没有尝试拆分它,而是将其拆分为另一个函数。抱歉,但这与 fetch API 无关,因为它适用于我如何拥有它以及我需要什么。不过谢谢
标签: javascript arrays string split fetch