Вопрос по Array.from({length: n}? Что значит {}
Решал задачки на codewars и в лучших решениях увидел, такое. Но, возник вопрос, что означают фигурные скобки Array.from({length: n} нигде не могу найти информацию.
function towerBuilder(n) {
return Array.from({length: n}, function(v, k) {
const spaces = ' '.repeat(n - k - 1);
return spaces + '*'.repeat(k + k + 1) + spaces;
});
}
Ответы (1 шт):
Автор решения: Konstantin Modin
→ Ссылка
Скобки обозначают объект. По спецификации данный объект должен иметь свойство length, второй аргумент (опциональный) - map-функция, которая проходит по каждому элементу массива (изначально undefined). Третий опциональный аргумент который принимает Array.from - необходимый this для map-функции. Пример:
const objectWithLength = {length : 3}
const a = Array.from(objectWithLength);
objectWithLength.length = 4;
const mapFunction = (item, idx) => idx + 1;
const b = Array.from(objectWithLength, mapFunction);
console.log('a', a);
console.log('b', b);