js如何处理↵,让markdown组件能够解析?

下面是实例:
-
以下是一种常见的 JavaScript 深拷贝实现方式:↵↵↵function deepCopy(obj) {↵ if (typeof obj === 'object') {↵ if (Array.isArray(obj)) {↵ var newArr = [];↵ for (var i = 0; i < obj.length; i++) {↵ newArr[i] = deepCopy(obj[i]);↵ }↵ return newArr;↵ } else {↵ var newObj = {};↵ for (var key in obj) {↵ newObj[key] = deepCopy(obj[key]);↵ }↵ return newObj;↵ }↵ }↵ return obj;↵}↵↵↵该函数接受一个对象作为参数,返回该对象的深拷贝。如果传入的参数不是一个对象,则直接返回该参数。如果传入的对象是一个数组,则递归处理其中的每一项元素,并返回一个新的数组,该数组中的每一项都是原始数组中的元素的深拷贝。如果传入的对象是一个普通对象,则递归处理其中的每一个属性,并返回一个新的对象,该对象包含了原始对象中的所有属性,并且每个属性的值都是原始对象中对应属性的深拷贝。


这段字符串会被放入到解析markdown的组件里,但是↵并没有被识别为换行.
我应该如何处理这段字符串,是其能正确地换行

阅读 1.6k
2 个回答

正则替换一下兴许可以:

function parse(sIn){
  const sOut = sIn.replaceAll('↵', '\n');
  return sOut
}

要在 Markdown 中正确显示换行,可以使用两个方法:

  1. 将每个换行符(↵)替换为两个空格加一个换行符(\n)。
  2. 使用“``”(连续的三个反引号)包裹代码块。
    以下是修改后的字符串,其中每个换行符(↵)已替换为两个空格加一个换行符(\n):
以下是一种常见的 JavaScript 深拷贝实现方式:  \n
\n
function deepCopy(obj) {  \n
  if (typeof obj === 'object') {  \n
    if (Array.isArray(obj)) {  \n
      var newArr = [];  \n
      for (var i = 0; i < obj.length; i++) {  \n
        newArr[i] = deepCopy(obj[i]);  \n
      }  \n
      return newArr;  \n
    } else {  \n
      var newObj = {};  \n
      for (var key in obj) {  \n
        newObj[key] = deepCopy(obj[key]);  \n
      }  \n
      return newObj;  \n
    }  \n
  }  \n
  return obj;  \n
}  \n
\n

该函数接受一个对象作为参数,返回该对象的深拷贝。如果传入的参数不是一个对象,则直接返回该参数。如果传入的对象是一个数组,则递归处理其中的每一项元素,并返回一个新的数组,该数组中的每一项都是原始数组中的元素的深拷贝。如果传入的对象是一个普通对象,则递归处理其中的每一个属性,并返回一个新的对象,该对象包含了原始对象中的所有属性,并且每个属性的值都是原始对象中对应属性的深拷贝。

另外,可以用连续的三个反引号(`)包裹代码块:

以下是一种常见的 JavaScript 深拷贝实现方式:

\```
function deepCopy(obj) {
  if (typeof obj === 'object') {
    if (Array.isArray(obj)) {
      var newArr = [];
      for (var i = 0; i < obj.length; i++) {
        newArr[i] = deepCopy(obj[i]);
      }
      return newArr;
    } else {
      var newObj = {};
      for (var key in obj) {
        newObj[key] = deepCopy(obj[key]);
      }
      return newObj;
    }
  }
  return obj;
}
\```

该函数接受一个对象作为参数,返回该对象的深拷贝。如果传入的参数不是一个对象,则直接返回该参数。如果传入的对象是一个数组,则递归处理其中的每一项元素,并返回一个新的数组,该数组中的每一项都是原始数组中的元素的深拷贝。如果传入的对象是一个普通对象,则递归处理其中的每一个属性,并返回一个新的对象,该对象包含了原始对象中的所有属性,并且每个属性的值都是原始对象中对应属性的深拷贝。

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