如何判断后台返回的字符串中包含换行?

如题。

后台返回的数据:
在接口文档显示的数据:
图片描述

在chrome上console出来的数据:
图片描述

(这两条数据是我随机打印的,只是为了显示后台是有换行的而已)

最后显示
是一行显示,没有换行效果的,需要前端处理

我先检测是否包含换行符
for (let i = 0; i < response.data.Data.length; i++) {

        if (response.data.Data[i].content.indexOf('\n') >= 0) {
          console.log(i)
        }
      }

打印出来的索引里面的数据并没有换行符,是不符的
请问我这样写是正确的吗?或者我需要换个条件判断?
求指教~

阅读 12k
3 个回答

不懂为啥写这个循环去遍历 返回给你的结果是response.data.content吧 可以用正则表达式去做

/\n/.test(response.data.content)

你都console.log出来↵了,当然要写indexOf('↵')了

问题解决

原先包着返回内容的标签是<p>,后面我粗暴地换成了<pre>,h5的标签
就可以换行显示了
但是有一个问题,其他没有换行的内容超过width的话,他会超出显示,不会自动换行

后面添加了css控制
pre{
white-space: pre-wrap;
word-wrap: break-word;
}

就解决了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题