javascript中的链到列
我需要实现javascript中的链到列,javascript,chain,Javascript,Chain,我需要实现重塑(n,str)函数,以便它返回不带空格的字符串str,并格式化为n 最大字符数 示例: 重塑(3,“abc de fghij”)=>返回“abc\n def\n ghi\n j” 重塑(2,“123456”)=>返回“12\n34\n56” 我执行了以下代码: 函数重塑(n,str){ //用空字符串替换每个空格 str=str.replace(“,”); //每n个字符插入一个'\n'字符 res=“”; 对于(变量i=0;i
重塑(n,str)
函数,以便它返回不带空格的字符串str,并格式化为n
最大字符数
示例:
重塑(3,“abc de fghij”)
=>返回“abc\n def\n ghi\n j”
重塑(2,“123456”)
=>返回“12\n34\n56”
我执行了以下代码:
函数重塑(n,str){
//用空字符串替换每个空格
str=str.replace(“,”);
//每n个字符插入一个'\n'字符
res=“”;
对于(变量i=0;i而不是
str = str.replace(" ", "");
简单地使用这个
str = str.replace(/\s/g,'');
你会得到想要的结果
以下是您的完整更正代码:
function reshape( n, str) {
//replace each space with empty string
str = str.replace(/\s/g,'');
//insert a '\n' character each n characters
res = "";
for (var i = 0; i < str.length; i++)
{
if (i%n === 0 && i !== 0)
res = res +'\n' +str.charAt(i);
else
res += str.charAt(i);
}
return res;
}
console.log(reshape(3,"abc de fghij"));
console.log(reshape(2,"1 23 456"));
函数重塑(n,str){
//用空字符串替换每个空格
str=str.replace(/\s/g');
//每n个字符插入一个'\n'字符
res=“”;
对于(变量i=0;i
您使用它的方式只替换第一次出现的内容,而不是全部内容
“foobar茶杯”。替换(“,”)=“foobar茶杯”
如果要替换所有引用,请使用或替换旧浏览器
str = str.replaceAll(" ", "");
代码的其余部分已经正常工作,它只包括额外的空格,由下面的^
表示:
abc
de
^
fgh
好的,但是什么是replace(/\s/g',),我的意思是/\s/g的含义是什么?这意味着替换字符串中的任何空白。您以前的实现只会替换破坏算法的第一个空格,您还可以使用str=str.replaceAll(“”,”)代码>如果你不喜欢的话。但是要研究javascript中的regexp
。您将了解更多信息。好的,我正在检查是的,谢谢,它与replace(/\s/g')一起工作,但与replaceAll()不一起工作:它与replaceAll()一起引发错误,原因是什么?您确定编写了此str=str.replaceAll(“”,”)代码>?当我使用String.replaceAll()时,它说“uncaughttypeerror:str.replaceAll不是函数”,有一个error@La_Magie在这种情况下,您使用的浏览器还不支持它,并且可以在我链接的问题中找到替代方案。不过,Internet Explorer以外的所有常见最新浏览器都支持它,请参阅。