Baseline Widely available
ÐеÑод repeat()
конÑÑÑÑиÑÑÐµÑ Ð¸ возвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²ÑÑ ÑÑÑокÑ, ÑодеÑжаÑÑÑ Ñказанное колиÑеÑÑво ÑоединÑннÑÑ
вмеÑÑе копий ÑÑÑоки, на коÑоÑой он бÑл вÑзван.
count
Целое ÑиÑло Ð¾Ñ 0 до +â: [0, +â), опÑеделÑÑÑее ÑиÑло повÑоÑений ÑÑÑоки во Ð²Ð½Ð¾Ð²Ñ Ñоздаваемой и возвÑаÑаемой ÑÑÑоке.
ÐÐ¾Ð²Ð°Ñ ÑÑÑока, ÑодеÑжаÑÐ°Ñ Ñказанное колиÑеÑÑво копий ÑÑÑоки, Ð´Ð»Ñ ÐºÐ¾ÑоÑой бÑл вÑзван меÑод.
ÐÑклÑÑениÑRangeError
: ÑиÑло повÑоÑений не должно бÑÑÑ Ð¾ÑÑиÑаÑелÑнÑм.RangeError
: ÑиÑло повÑоÑений должно бÑÑÑ Ð¼ÐµÐ½ÑÑе беÑконеÑноÑÑи и не должно пÑевÑÑаÑÑ Ð¼Ð°ÐºÑималÑно допÑÑÑимÑÑ Ð´Ð»Ð¸Ð½Ñ ÑÑÑоки."абв".repeat(-1); // RangeError
"абв".repeat(0); // ''
"абв".repeat(1); // 'абв'
"абв".repeat(2); // 'абвабв'
"абв".repeat(3.5); // 'абвабвабв' (колиÑеÑÑво бÑÐ´ÐµÑ Ð¿ÑеобÑазовано в Ñелое ÑиÑло)
"абв".repeat(1 / 0); // RangeError
({ toString: () => "абв", repeat: String.prototype.repeat }).repeat(2);
// 'абвабв' (меÑод repeat() ÑвлÑеÑÑÑ Ð¾Ð±Ð¾Ð±ÑÑннÑм меÑодом)
ÐолиÑил
ÐÑÐ¾Ñ Ð¼ÐµÑод бÑл добавлен к ÑпеÑиÑикаÑии ECMAScript 2015 и Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð¾ÑÑÑпен еÑÑ Ð½Ðµ во вÑÐµÑ ÑеализаÑиÑÑ JavaScript. Ðднако, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе легко ÑмÑлиÑоваÑÑ ÑÑÐ¾Ñ Ð¼ÐµÑод пÑи помоÑи ÑледÑÑÑего кода:
if (!String.prototype.repeat) {
String.prototype.repeat = function (count) {
"use strict";
if (this == null) {
throw new TypeError("can't convert " + this + " to object");
}
var str = "" + this;
count = +count;
if (count != count) {
count = 0;
}
if (count < 0) {
throw new RangeError("repeat count must be non-negative");
}
if (count == Infinity) {
throw new RangeError("repeat count must be less than infinity");
}
count = Math.floor(count);
if (str.length == 0 || count == 0) {
return "";
}
// ÐбеÑпеÑение Ñого, ÑÑо count ÑвлÑеÑÑÑ 31-биÑнÑм ÑелÑм ÑиÑлом, позволÑÐµÑ Ð½Ð°Ð¼ знаÑиÑелÑно
// ÑопÑимизиÑоваÑÑ Ð³Ð»Ð°Ð²Ð½ÑÑ ÑаÑÑÑ ÑÑнкÑии. ÐпÑоÑем, болÑÑинÑÑво ÑовÑеменнÑÑ
(на авгÑÑÑ
// 2014 года) бÑаÑзеÑов не обÑабаÑÑваÑÑ ÑÑÑоки, длиннее 1 << 28 Ñимволов, Ñак ÑÑо:
if (str.length * count >= 1 << 28) {
throw new RangeError(
"repeat count must not overflow maximum string size",
);
}
var rpt = "";
for (var i = 0; i < count; i++) {
rpt += str;
}
return rpt;
};
}
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4