簡體   English   中英

如果字符串javascript的最后一個字符如何擺脫?

[英]How do I get rid if the last character of a string javascript?

我不明白為什么我不能刪除字符串中的最后一個字符。 這是我的JavaScript代碼。

<!DOCTYPE html>
<html>
<body>

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

<script>
function array2ArrayOfStrings(arr) {
  var lines = [new Array()];
  var l = 0;
  lines[0].push(arr[0] + ', ');

  for(i=1; i < arr.length; i++) {
    lines[l] += arr[i] + ', ';
    if(lines[l].length > 20) {
      lines.push(new Array());
      l++;
    }
  }
  console.log('last is ' + lines[l]);
  // var newStr = str.substring(0, str.length - 1);
  lines[l] = lines[l].substring(0, lines[l].length - 1);
  // lines[l] = lines[l].slice(0,-1);
  return lines.join('<br>');
}

var cars = [
   'CRX',
   'Mustang',
   'Volvo XXX',
   'Toyota Pickup',
   'Volkswagon Beatle',
   'Datsun',
   'Lincoln',
   'Cadillac',
   'Mercedes',
   'Lexus',
];

document.getElementById("demo").innerHTML = array2ArrayOfStrings(cars);
</script>

</body>
</html>

這是您可以運行以上命令的鏈接: https : //www.w3schools.com/code/tryit.asp?filename=G6MDZQFMAK4K

我得到的輸出是這樣的:

CRX, Mustang, Volvo XXX, 
Toyota Pickup, Volkswagon Beatle, 
Datsun, Lincoln, Cadillac, 
Mercedes, Lexus,

我想擺脫過去的,之后Lexus

嘗試

lines[l].substring(0, lines[l].length - 2);

因為您要添加,SPACE (兩個字符)

 <p id="demo"></p> <script> function array2ArrayOfStrings(arr) { var lines = [new Array()]; var l = 0; lines[0].push(arr[0] + ', '); for (i = 1; i < arr.length; i++) { lines[l] += arr[i] + ', '; if (lines[l].length > 20) { lines.push(new Array()); l++; } } lines[l] = lines[l].substring(0, lines[l].length - 2); console.log('last is ' + lines[l]); return lines.join('<br>'); } var cars = [ 'CRX', 'Mustang', 'Volvo XXX', 'Toyota Pickup', 'Volkswagon Beatle', 'Datsun', 'Lincoln', 'Cadillac', 'Mercedes', 'Lexus', ]; document.getElementById("demo").innerHTML = array2ArrayOfStrings(cars); </script> 

您的代碼實際上是刪除字符串中的最后一個字符。 目前的最后一個字符是因為你是一個附加的空間,你的最后一個元素,所以,當你做lines[l] = lines[l].substring(0, lines[l].length - 1); 您要移除的空間,而不是逗號, 要同時刪除空格和逗號,您需要將-1更改為-2如下所示:

lines[l] = lines[l].substring(0, lines[l].length - 2);

暫無
暫無

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

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