Artem3677
@Artem3677
Учусь

Как создать строку '-x-xx-xxx-xx-x-'?

Написал такой код:
let str = '';
let str1 = '';
let res = '-';
let k = 1;
for (let i = 1; i <= 5; ++i) {
	if (i <= 3) {
		str += 'x';
		res += str + '-';
		k++;
	} else {
		k = 2;
		str1 += 'xx';
		res += str1 + '-';
		k--;
	}	
}

console.log(res);

Результат такой: -x-xx-xxx-xx-xxxx-.

Как сделать правильно?
  • Вопрос задан
  • 364 просмотра
Решения вопроса 2
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
например так

let result = '-';
let max = 3;

for (let i = 1; i <= max; i++) {
  for (let j = 1; j <= i; j++) {
    result += 'x';
  }
  result += '-';
}

for (let i = max - 1; i >= 1; i--) {
  for (let j = 1; j <= i; j++) {
    result += 'x';
  }
  result += '-';
}

console.log(result);


Можно в один цикл запихать с условиями на каждой итерации:
let result = '-';
let max = 3;

const count = (max - 1) * 2 + 1;
for (let i = 1; i <= count; i++) {
  let cond = i <= max ? i : count - i + 1;
  for (let j = 1; j <= cond; j++) result += 'x';
  result += '-';
}

console.log(result);
Ответ написан
мой вариант:
const divider = '-';
const symbol = 'x';
let x = symbol;
let prefix = divider;
let suffix = divider;
for (let i = 0; i < 2; i++) {
    prefix += x + divider;
    suffix = divider + x + suffix;
    x += symbol;
}
let result = prefix + x + suffix;
console.log(result);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы