javascript - 为什么我的代码无法通过 Javascript 中从字符串中删除空格的测试?
问题描述
大家好!我是编码新手,我没有通过这个测试。我需要为这个字符串编写代码:
'<h2> Lost In Space</h2>'
改成这个字符串(基本上去掉标题和文本之间多余的空格):
'<h2>Lost In Space</h2>'
我写的代码看起来像这样,在我的编辑器中它似乎返回了正确的输出,但由于某种原因,它在通过在线测试时失败了
function markdownParser(markdown) {
let arr = markdown.trim().split(' ');
let firstItemInArray = arr[0];
if(firstItemInArray[0] === '<') {
arr.shift();
let newString = arr.join(' ');
let trimmedString = newString.trim();
return `${firstItemInArray}${trimmedString}`
} else {
return markdown;
}
}
知道为什么会发生这种情况以及我的错误在哪里吗?
测试失败:edge_cases
expected '<h2> Lost In Space</h2>' to deeply equal '<h2>Lost In Space</h2>'
解决方案
有点作弊和一点黑客,但一个可靠的。可以更改为仅修剪文本节点。名称暗示它是 Markdown,所以这实际上可能不起作用?
str=`<h2> test</h2>`
const div = document.createElement('div')
div.innerHTML=str
div.querySelectorAll('*').forEach(x=>x.innerHTML=x.innerHTML.trim())
console.log(div.innerHTML)
<div id="div"></div>
推荐阅读
- scala - 从 Pyspark 执行 Scala 代码
- c - 如何编译或链接作为头文件包含的 .c 文件?
- android - Android:E/SQLiteDatabase:插入错误;android.database.sqlite.SQLiteException:没有这样的列
- android - 收到推送通知时如何自动打开应用程序?
- xml - 解析片段 xml 时出错:数据意外结束
- node.js - Nodejs builder类函数不是函数
- codeigniter - 代码点火器控制器查看mysql
- php - php 如何从 php 文件中包含和运行方法 html 代码在哪里?
- r - 在r中将字符转换为日期(Thu Jun 14 *** 2018-05-14)
- date - 在 XSLT 中减去日期