[英]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.