Алгоритм пирамиды JS - PullRequest
0 голосов
/ 18 июня 2020

Я возился с некоторыми базовыми c алгоритмами. Я хотел знать, есть ли у кого-нибудь более короткая версия этой в JS для отображения пирамиды:

const total= 30;
let line = 1;

for (let i = 1; i < total; i = i + 2) {
    console.log(' '.repeat(total / 2 - line) + '*'.repeat(i))
    line++;
}

Ответы [ 4 ]

3 голосов
/ 18 июня 2020

что?

let s = '*'
for(let p=15;p--;) 
  {
  console.log( ' '.repeat(p) + s)
  s += '**'
  }
.as-console-wrapper { max-height: 100% !important; top: 0; }
1 голос
/ 18 июня 2020

console.log(Array.from({length:15},(_,i)=>"*".repeat(i*2+1).padStart(15+i)).join`\n`);
1 голос
/ 18 июня 2020

Еще более короткий подход с использованием оператора while.

Этот ответ очень вдохновлен ответом из Mister Jojo .

let s = '*',
    p = 15;
    
while (p--) {
    console.log(' '.repeat(p) + s)
    s += '**';
}
.as-console-wrapper { max-height: 100% !important; top: 0; }
0 голосов
/ 18 июня 2020

То же с использованием функции карты

function pyramid(height) {
  return Array(height).fill('*')
    .map((current, index) =>
      ' '.repeat(height - index) +
      current.repeat(index).split('').join(' ') +
      ' '.repeat(height - index))
    .join('\n');
}
console.log(pyramid(30));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...