我正在编写应该解析文本的代码。第一步是将其分成行数组。我这样做的是: letlines = input.split('\n');
我编写的函数在 jsbin 中测试时工作完美,但在浏览器中测试时不起作用。在浏览器中,输入从文本输入传递到组件,但登录到控制台时看起来很好。可能是什么情况?
输入:'\\第1页\n\第1.1页'
代码:
function parseTree(input) {
if (input === '') {
return '';
}
console.log(input)
let root = {title: null, isRoot: true, children: [] };
let lines = input.split('\n');
console.log(lines);
/* ... */
return root;
}
parseTree('\\page 1 \n\ page 1.1');
在 jsbin 中,结果是(第一行是输入,第二行是 lines
数组):
"\page 1 page 1.1"
["\page 1 ", " page 1.1"]
( https://jsbin.com/yacuhot/edit?js,console )
在浏览器控制台中它是:
\page 1 \n\ page 1.1
["\page 1 \n\ page 1.1"]
最佳答案
包含 \n
的输入文本不是换行符,它没有特殊含义..
将其视为它的转义版本,因此您的拆分将不起作用。
因为它是转义的 split('\\n')
应该可以工作,但这不是你想要的。
要在输入中包含真正的新行,您需要使用 textarea
元素来代替
关于javascript - split ('\n' )在浏览器中不起作用,但在 jsbin 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50115721/