javascript - hinzufügen von Leerraum auf der linken string
Gibt es einen besseren Weg, um x Anzahl von Leerzeichen in einen string?
str = "blah";
x = 4;
for (var i = 0; i < x; i++){
str = ' ' + str;
}
return str;
- Definieren Sie 'besser.' Übrigens: stackoverflow.com/questions/14343844/...
- Wenn es um performance geht, dann machst du eine Menge unnötige string-Verkettungen, wenn x hoch wird. Stellen Sie sich vor Sie wollten 512 Leerzeichen. Die Verkettung von zwei Zeichenfolgen von 256 Räumen wäre schneller als voranstellen von einem Raum 512 mal. Auf meinem Handy, aber dies wird üblicherweise als Linker und rechter Auffüllbereich des strings.
- keinen Sinn, eine Schleife, wenn Sie fügen immer die gleiche Menge an Polsterung
- Es ist ein "padding-Funktion" in web-Browsern. Was wollen Sie erreichen? Warum wollen Sie, dass diese Räume?
- Sie können es in dieser Frage stackoverflow.com/a/202627/2464118
- Haben Sie einen Blick auf den String.wiederholen Sie die Methode: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
- Ich habe eine <textarea>, mit der Sie erstellen ein json-Objekt, jede Zeile repräsentiert eine Sequenz von Objekten, je nachdem, wie viele Leerzeichen vor dem ersten nicht-white-space-Zeichen in jeder Zeile legt fest, wo es hingehört
- OK, das erklärt eine Menge. Weitermachen 🙂
- nur versuchen, um das json-Objekt einfacher zu Lesen und zu Bearbeiten, die für Menschen ohne Programmier-Erfahrung, so I dont haben, um einen Bildschirm zu erstellen, die für jeden Teil der Anwendung, wenn Sie wissen was ich meine
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte es so machen, verhindert, dass die Schleife.
str = str + new Array(x + 1).join(' ')
x - 1
weil join nimmt das element an der rechten Seite und das Letzte element nicht besitzt. So sollte es seinnew Array(x + 1).join(' ')
str = new Array(x+1).join(' ') + str;
. Ihre version pads auf der falschen Seite.In ES6 können Sie Folgendes tun:
Zu diesem Zeitpunkt (Ende 2014) gibt es nur in Chrome und Firefox. Aber in zwei Jahren sollte es sein, weitgehend unterstützt werden.
Finden Sie in der Dokumentation für mehr info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
Alternativ mit lodash
_.padStart
. Pads string auf der linken Seite, wenn Sie kürzer als die Länge.JS:
HTML:
Oder Reine JavaScript:
JS:
zum Beispiel können Sie verwenden, wiederholen Sie den Vorgang für das weiße Feld Links oder rechts von Ihrem string: