javascript - split ('\n' )在浏览器中不起作用,但在 jsbin 中起作用

标签 javascript reactjs

我正在编写应该解析文本的代码。第一步是将其分成行数组。我这样做的是: 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/

相关文章:

javascript - 等到功能完成

javascript - 节点列表 - 'undefined: not bound to any nodes'

javascript - Jest 无法从 'setupDevtools' 找到模块 'setup.js'

reactjs - Draft.js 和 React Native

javascript - 如何从本地服务器上的共享文件加载图像?

javascript - 如何实现滑动过期认证

javascript - 获取元素的 css 宽度并将其转换为百分比

javascript - Jquery检测具有相同ID的多个输入中的按键

javascript - react 操纵 NumberFormat 格式以有条件地工作

javascript - ReactJS Promise resolve() 不会将值传递给 .then() ,而是reject() 将值传递给 .catch()