860 Stimmen

Wiederholen Sie eine Zeichenfolge in JavaScript eine bestimmte Anzahl von Malen

In Perl kann ich ein Zeichen mehrmals wiederholen, indem ich die Syntax verwende:

$a = "a" x 10; // Ergebnis: "aaaaaaaaaa"

Gibt es eine einfache Möglichkeit, dies in Javascript zu erreichen? Ich kann offensichtlich eine Funktion verwenden, aber ich frage mich, ob es einen integrierten Ansatz oder eine andere clevere Technik gibt.

0voto

Filth Punkte 2951
var stringRepeat = function(string, val) {
  var newString = [];
    for(var i = 0; i < val; i++) {
      newString.push(string);
  }
  return newString.join('');
}

var repeatedString = stringRepeat("a", 1);

0voto

Sarsaparilla Punkte 5540

Kann auch als Einzeiler verwendet werden:

function repeat(str, len) {
    while (str.length < len) str += str.substr(0, len-str.length);
    return str;
}

0 Stimmen

Bei jedem Wettbewerb ist "für" schneller als "während". :-)

0voto

David Mendez Punkte 1

In CoffeeScript:

( 'a' für dot in [0..10]).join('')

-1voto

String.prototype.repeat = function (n) { n = Math.abs(n) || 1; return Array(n + 1).join(this || ''); };

// console.log("0".repeat(3) , "0".repeat(-3))
// return: "000" "000"

1 Stimmen

Dies überschreibt String.prototype.repeat, das nativ in aktuellen Browsern enthalten ist. Warum es komprimieren? Du musst es nicht alles in einer Zeile schreiben.

0 Stimmen

Keine "Wiederholen"-Funktion in IE vorhanden, daher Prototyp erforderlich.

-4voto

Maxali Punkte 1869

Hier ist eine ES6-Version

const repeat = (a,n) => Array(n).join(a+"|$|").split("|$|");
repeat("A",20).forEach((a,b) => console.log(a,b+1))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X