require("!!raw-loader!extract-css-loader!minify-css-loader!sass-loader!../extensions/main.scss").default
require("./extensions/main.scss?сделать-хорошо")
import("!!raw-loader!sass-loader!./MyScss.scss")
.then(MINIFY_CSS)
.then(EXTRACT_CSS)
.then(console.log);
let variableVithFactorialFuction = function factorial(num) {
if (num == 1) {
return num
} else {
return num * factorial(num - 1)
}
}
function logResultDecorator(func) {
return function() {
let result = func.apply(this, arguments)
console.log('Результат функции: ', result)
}
}
variableVithFactorialFuction = logResultDecorator(variableVithFactorialFuction)
variableVithFactorialFuction(5)
function factorial(num) {
if (num == 1) {
return num
} else {
return num * factorial(num - 1)
}
}
function logResultDecorator(func) {
return function() {
let result = func.apply(this, arguments)
console.log('Результат функции: ', result)
}
}
factorial = logResultDecorator(factorial)
factorial(5)
function factorial(num) {
if (num == 1) {
return num
} else {
return num * factorial(num - 1)
}
}
function logResultDecorator(func) {
return function() {
let result = func.apply(this, arguments);
console.log('Результат функции: ', result);
return result;
}
}
factorial = logResultDecorator(factorial)
factorial(5)
if (!Array.prototype.reduce) {
Array.prototype.reduce = function(callback/*, initialValue*/) {
'use strict';
if (this == null) {
throw new TypeError('Array.prototype.reduce called on null or undefined');
}
if (typeof callback !== 'function') {
throw new TypeError(callback + ' is not a function');
}
var t = Object(this), len = t.length >>> 0, k = 0, value;
if (arguments.length >= 2) {
value = arguments[1];
} else {
while (k < len && ! (k in t)) {
k++;
}
if (k >= len) {
throw new TypeError('Reduce of empty array with no initial value');
}
value = t[k++];
}
for (; k < len; k++) {
if (k in t) {
value = callback(value, t[k], k, t);
}
}
return value;
};
}
if (!Array.prototype.map) {
Array.prototype.map = function(callback, thisArg) {
var T, A, k;
if (this == null) {
throw new TypeError(' this is null or not defined');
}
// 1. Положим O равным результату вызова ToObject с передачей ему
// значения |this| в качестве аргумента.
var O = Object(this);
// 2. Положим lenValue равным результату вызова внутреннего метода Get
// объекта O с аргументом "length".
// 3. Положим len равным ToUint32(lenValue).
var len = O.length >>> 0;
// 4. Если вызов IsCallable(callback) равен false, выкидываем исключение TypeError.
// Смотрите (en): http://es5.github.com/#x9.11
// Смотрите (ru): http://es5.javascript.ru/x9.html#x9.11
if (typeof callback !== 'function') {
throw new TypeError(callback + ' is not a function');
}
// 5. Если thisArg присутствует, положим T равным thisArg; иначе положим T равным undefined.
if (arguments.length > 1) {
T = thisArg;
}
// 6. Положим A равным новому массиву, как если бы он был создан выражением new Array(len),
// где Array является стандартным встроенным конструктором с этим именем,
// а len является значением len.
A = new Array(len);
// 7. Положим k равным 0
k = 0;
// 8. Пока k < len, будем повторять
while (k < len) {
var kValue, mappedValue;
// a. Положим Pk равным ToString(k).
// Это неявное преобразование для левостороннего операнда в операторе in
// b. Положим kPresent равным результату вызова внутреннего метода HasProperty
// объекта O с аргументом Pk.
// Этот шаг может быть объединён с шагом c
// c. Если kPresent равен true, то
if (k in O) {
// i. Положим kValue равным результату вызова внутреннего метода Get
// объекта O с аргументом Pk.
kValue = O[k];
// ii. Положим mappedValue равным результату вызова внутреннего метода Call
// функции callback со значением T в качестве значения this и списком
// аргументов, содержащим kValue, k и O.
mappedValue = callback.call(T, kValue, k, O);
// iii. Вызовем внутренний метод DefineOwnProperty объекта A с аргументами
// Pk, Описатель Свойства
// { Value: mappedValue,
// Writable: true,
// Enumerable: true,
// Configurable: true }
// и false.
// В браузерах, поддерживающих Object.defineProperty, используем следующий код:
// Object.defineProperty(A, k, {
// value: mappedValue,
// writable: true,
// enumerable: true,
// configurable: true
// });
// Для лучшей поддержки браузерами, используем следующий код:
A[k] = mappedValue;
}
// d. Увеличим k на 1.
k++;
}
// 9. Вернём A.
return A;
};
}
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;
}
}
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;
}
});
}
var minGap = 3;
var keys = ['name', 'price'];
var input = [{
name: "абрикосы",
price: 20
}, {
name: "тыква",
price: 50
}, {
name: "уи",
price: 1000
}];
var maxLengths = keys.slice().fill(0);
var normalizedInput = input.map(function (item) {
return keys.reduce(function (acc, key, i) {
var current = String(item[key]);
var currentLength = current.length;
if (currentLength > maxLengths[i]) maxLengths[i] = currentLength;
acc[key] = current;
acc.length += currentLength;
return acc;
}, {
length: 0
});
});
var maxLength = maxLengths.reduce(function (sum, current) {
return sum + current;
}, minGap);
var res = normalizedInput.map(function (_ref) {
var name = _ref.name,
price = _ref.price,
length = _ref.length;
return name + ' '.repeat(maxLength - length) + price;
}).join('\n');
на сайте, который вы скинули, Link лежит сам по себеhttps://reactrouter.com/docs/en/v6/getting-started...
// Если там ссылка на чужой сайт - ответ никак.
// Использовать
element.innerHTML += 'text'
нельзя, потому что это шорткат дляelement.innerHTML = element.innerHTML + 'text'
, что сбрасывает всё содержимое element и отрисовывает его заново.