Có cách nào tốt hơn để thêm x lượng khoảng trắng vào một chuỗi không?javascript - thêm khoảng trắng vào bên trái của chuỗi
str = "blah";
x = 4;
for (var i = 0; i < x; i++){
str = ' ' + str;
}
return str;
Có cách nào tốt hơn để thêm x lượng khoảng trắng vào một chuỗi không?javascript - thêm khoảng trắng vào bên trái của chuỗi
str = "blah";
x = 4;
for (var i = 0; i < x; i++){
str = ' ' + str;
}
return str;
Làm như thế, ngăn vòng lặp.
str = str + new Array(x + 1).join(' ')
độ dài của 'x - 1' vì tham gia lấy phần tử ở bên phải và phần tử cuối cùng không có phần tử. Vì vậy, nó phải là 'mảng mới (x + 1) .join ('')' – axelduch
Rất đẹp! thanks –
Ngoài ra, nó phải là 'str = new Array (x + 1) .join ('') + str;'. Miếng đệm phiên bản của bạn ở phía bên trái. –
Trong ES6 bạn có thể làm như sau:
str = ' '.repeat(x) + str;
Tại thời điểm này trong thời gian (cuối năm 2014) nó chỉ có sẵn trong Chrome và Firefox. Nhưng trong hai năm nó cần được hỗ trợ rộng rãi.
Xem tài liệu cho biết thêm: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
ví dụ bạn có thể sử dụng lặp lại cho không gian màu trắng sang trái hoặc bên phải của chuỗi của bạn: 'tốt hơn'
var j = 6;
for (i = 0; i < n; i++) {
console.log(" ".repeat(j-1)+"#".repeat(i+1))
j--;
}
Xác định Ngẫu nhiên: http://stackoverflow.com/questions/14343844/create-a-string-of-variable-length-filled-with-a-repeated-character –
Nếu vấn đề hiệu suất, bạn đang thực hiện rất nhiều chuỗi không cần thiết nối khi x trở nên cao. Hãy tưởng tượng bạn muốn 512 không gian. Ghép nối hai chuỗi 256 không gian sẽ nhanh hơn việc thêm một khoảng trống 512 lần. Trên điện thoại của tôi nhưng điều này thường được gọi là đệm trái và phải của chuỗi. – Warty
không có điểm nào có vòng lặp nếu bạn luôn thêm cùng một lượng đệm – charlietfl