簡體   English   中英

JavaScript 返回字符串限制為 2 個字符

[英]JavaScript return string with 2 char limit

我正在嘗試編寫一個返回“Hello, World”字符串的函數,但要求每行應該只有 2 個字符。 在我的函數中,我使用模板文字並希望忽略換行符 \\n。 任何人都可以建議最好的解決方案嗎?

代碼::

f=_=>`H
el
lo
,w
or
ld
!`

錯誤 ::

Expected: 'Hello, world!', instead got: 'H\nel\nlo\n,w\nor\nld\n!'

此方法使用substring()

Javascript:

const output = document.getElementById('demo');

function trimString(str, lineLength) {  
  for (var i=0; i<str.length; i+=lineLength) {
    output.innerHTML += str.substring(i, i+lineLength);
    output.innerHTML += "<br />";
  }
}

trimString('Hello World', 2);

不要忘記輸出:

<p id="demo"></p>


這個怎么運作:
這將通過調用函數trimString(str, lineLength);
-
-

您的函數可以使用replace來替換換行符:

 f=_=>`H el lo ,w or ld !` console.log(f().replace(/\\n/g, ''))

你也許可以嘗試:

function makeTwoCharPerLine(input) {
  return input.split('').map((char, index) => {
    return (index + 1) % 2 === 0 ? 
      `${char}${String.fromCharCode(13)}${String.fromCharCode(10)}` : char;
  }).join('');
}

就像它的語法父 C 一樣,JavaScript 允許您使用反斜杠字符轉義源代碼中的換行符:

f=
_=>
"\
H\
e\
l\
l\
o\
,\
W\
o\
r\
l\
d\
!\
";

document.write(f());

在這里,實際源中的每個換行符都被忽略,這要歸功於它之前的\\ ,允許字符串繼續到源中的另一行,同時在父級中保留一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM