Baseline Widely available
ÐеÑод fill()
заполнÑÐµÑ Ð²Ñе ÑлеменÑÑ Ð¼Ð°ÑÑива Ð¾Ñ Ð½Ð°ÑалÑного до конеÑного индекÑов одним знаÑением.
const array1 = [1, 2, 3, 4];
// Fill with 0 from position 2 until position 4
console.log(array1.fill(0, 2, 4));
// Expected output: Array [1, 2, 0, 0]
// Fill with 5 from position 1
console.log(array1.fill(5, 1));
// Expected output: Array [1, 5, 5, 5]
console.log(array1.fill(6));
// Expected output: Array [6, 6, 6, 6]
СинÑакÑиÑ
arr.fill(value[, start = 0[, end = this.length]])ÐаÑамеÑÑÑ
value
ÐнаÑение, заполнÑÑÑее маÑÑив.
start
ÐеобÑзаÑелÑнÑй паÑамеÑÑ. ÐаÑалÑнÑй индекÑ.
end
ÐеобÑзаÑелÑнÑй паÑамеÑÑ. ÐонеÑнÑй индекÑ.
ÐзменÑннÑй маÑÑив.
ÐпиÑаниеÐлеменÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÑÑÑÑ Ð² полÑзакÑÑÑом инÑеÑвале [start
, end
).
ÐеÑод fill
пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð¾ ÑÑÑÑ
аÑгÑменÑов â value
, start
и end
. ÐÑгÑменÑÑ start
и end
ÑвлÑÑÑÑÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑми Ñо знаÑениÑми по ÑмолÑаниÑ, ÑавнÑми 0
и length
обÑекÑа this
ÑооÑвеÑÑÑвенно.
ÐÑли аÑгÑÐ¼ÐµÐ½Ñ start
ÑвлÑеÑÑÑ Ð¾ÑÑиÑаÑелÑнÑм, он ÑÑакÑÑеÑÑÑ ÐºÐ°Ðº length+start
, где length
â ÑÑо длина маÑÑива. ÐÑли аÑгÑÐ¼ÐµÐ½Ñ end
ÑвлÑеÑÑÑ Ð¾ÑÑиÑаÑелÑнÑм, он ÑÑакÑÑеÑÑÑ ÐºÐ°Ðº length+end
.
ÐеÑод fill
намеÑенно ÑвлÑеÑÑÑ Ð¾Ð±Ð¾Ð±ÑÑннÑм, он не ÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°Ñение this
внÑÑÑи него бÑло обÑекÑом Array
.
ÐеÑод fill
ÑвлÑеÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑим меÑодом, он Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ Ð¾Ð±ÑÐµÐºÑ this
и веÑнÑÑ ÐµÐ³Ð¾, а не пÑоÑÑо веÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ.
ÐÑли аÑгÑÐ¼ÐµÐ½Ñ value ÑвлÑеÑÑÑ Ð¾Ð±ÑекÑом, Ñо меÑод fill
Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ Ð¼Ð°ÑÑив ÑÑÑлками на ÑÑÐ¾Ñ Ð¾Ð±ÑекÑ.
[1, 2, 3].fill(4); // [4, 4, 4] [1, 2, 3].fill(4, 1); // [1, 4, 4] [1, 2, 3].fill(4, 1, 2); // [1, 4, 3] [1, 2, 3].fill(4, 1, 1); // [1, 2, 3] [1, 2, 3].fill(4, 3, 3); // [1, 2, 3] [1, 2, 3].fill(4, -3, -2); // [4, 2, 3] [1, 2, 3].fill(4, NaN, NaN); // [1, 2, 3] [1, 2, 3].fill(4, 3, 5); // [1, 2, 3] Array(3).fill(4); // [4, 4, 4] [].fill.call({ length: 3 }, 4); // {0: 4, 1: 4, 2: 4, length: 3} // ÐбÑекÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÑÑÑÑ Ð¿Ð¾ ÑÑÑлке. var arr = Array(3).fill({}) // [{}, {}, {}]; arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]ÐолиÑил
if (!Array.prototype.fill) { Object.defineProperty(Array.prototype, 'fill', { value: function(value) { // Шаги 1-2. if (this == null) { throw new TypeError('this is null or not defined'); } var O = Object(this); // Шаги 3-5. var len = O.length >>> 0; // Шаги 6-7. var start = arguments[1]; var relativeStart = start >> 0; // Шаг 8. var k = relativeStart < 0 ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len); // Шаги 9-10. var end = arguments[2]; var relativeEnd = end === undefined ? len : end >> 0; // Шаг 11. var final = relativeEnd < 0 ? Math.max(len + relativeEnd, 0) : Math.min(relativeEnd, len); // Шаг 12. while (k < final) { O[k] = value; k++; } // Шаг 13. return O; } }); }
ÐÑли вам нÑжно поддеÑживаÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑно ÑÑÑаÑевÑие движки JavaScript, коÑоÑÑе не поддеÑживаÑÑ Object.defineProperty, Ñо лÑÑÑе вообÑе не иÑполÑзоваÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸Ð»Ñ Ð´Ð»Ñ Ð¼ÐµÑодов Array.prototype, Ñак как Ð²Ñ Ð½Ðµ можеÑе ÑделаÑÑ Ð¸Ñ Ð½Ðµ пеÑеÑиÑлÑемÑми.
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже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