Задать вопрос
@antonini666

Как каждый следующий элемент массива повторять на один раз больше предыдущего?

Есть массив букв: [ 'a', 'g', 'h', 'r' ]. Нужно каждый последующий элемент данного массива увеличивать на одну такую же букву: [ 'a', 'gg', 'hhh', 'rrrr' ]. Как это можно реализовать?
  • Вопрос задан
  • 1252 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const newArr = arr.map((n, i) => n.repeat(i + 1));

или

const newArr = arr.map((n, i) => Array(i + 1).fill(n).join(''));

или

const newArr = arr.map((n, i) => Array(i + 2).join(n));

или

const newArr = [];

for (let i = 0; i < arr.length; i++) {
  let str = '';

  for (let j = 0; j <= i; j++) {
    str += arr[i];
  }

  newArr.push(str);
}

или

const newArr = [];

for (const n of arr) {
  let str = '';

  while ((str = str.concat(n)).length <= newArr.length) ;

  newArr[newArr.length] = str;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы