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以外的所有常见最新浏览器都支持它,请参阅。