如何编写一个JS函数,该函数转换带有哈希的字符串和一个单词,并输出由相应的头标签包围的单词



示例:

Input: "## Header" --> Output: "<h2>Header<h2>" 
Input: "### Header" --> Output: "<h3>Header<h3>"
Input: "#### Header" --> Output: "<h4>Header<h4>"
...up to 6 hashes for <h6>

谢谢

以下是函数

function transformer(str){
let count = str.match(/#/g) &&  str.match(/#/g).length;
return count? "<h"+count+">"+str.replace(/#/g,'').trim()+"</h"+count+">": str
}
console.log(transformer("# Header"));
console.log(transformer("## Header"));
console.log(transformer("### Header"));
console.log(transformer("#### Header"));

请尝试以下示例

function getTag(string) {
const [hashes, word] = string.split(" ");
switch (hashes.length) {
case 1:
return `<h1>${word}</h1>`;
case 2:
return `<h2>${word}</h2>`;
case 3:
return `<h3>${word}</h3>`;
case 4:
return `<h4>${word}</h4>`;
case 5:
return `<h5>${word}</h5>`;
case 6:
return `<h6>${word}</h6>`;
}
}
console.log(getTag("## Header"));
console.log(getTag("### Header"));
console.log(getTag("#### Header"));

function convert(string){
const text = /w+/.exec(string);
const i = /#+/.exec(string)[0].length;
return `<h${i}>${text}</h${i}>`
}
console.log(convert("## Header"));
console.log(convert("### Header"));
console.log(convert("#### Header"));

您可以使用regex

function genertag(input){
var n=input.match(/^#+/g)[0].length
var el=input.match(/w+/g)[0]
return `<h${n}>${el}<h${n}>`
}

console.log(genertag("### Header"))
console.log(genertag("## Header"))

You can count the number of hashes in the input. sample code.

let input = "## header"
let separatedStringArray = input.split(" ");
console.log(separatedStringArray);
if (separatedStringArray != undefined && separatedStringArray != null && separatedStringArray.length == 2) {
let totalhases = separatedStringArray[0].length;
console.log(totalhases);
console.log("<h"+ totalhases + ">" + separatedStringArray[1] + "</" + totalhases + ">");
}

最新更新