Особенности таблицы умножения Javascript

Я пытаюсь заполнить таблицу умножения, но сталкиваюсь с проблемой, это мой код...

function multiTable(number) {
  var table = '';
  for (i = 1; i < 11; i++) {
    if (i == 1 || number == 2 || number == 3 || number == 4 || number == 5 || number == 6 || number == 7 || number == 8 || number == 9) {
      table += i + " * " + number + " = " + (i * number) + "\n";
    } else if (i = 10) {
      table += i + " * " + number + " = " + (i * number);
    }
  }
  return table;
}

Когда я провожу тесты, я получаю...

'1 * 5 = 5 \ n2 * 5 = 10 \ n3 * 5 = 15 \ n4 * 5 = 20 \ n5 * 5 = 25 \ n6 * 5 = 30 \ n7 * 5 = 35 \ n8 * 5 = 40 \ n9 * 5 = 45 \ n10 * 5 = 50 \ n '

Я должен получить...

'1 * 5 = 5 \ n2 * 5 = 10 \ n3 * 5 = 15 \ n4 * 5 = 20 \ n5 * 5 = 25 \ n6 * 5 = 30 \ n7 * 5 = 35 \ n8 * 5 = 40 \ n9 * 5 = 45 \ n10 * 5 = 50 '

Чтобы спасти кого-то какое-то время, единственная разница - это конец, \ n после 50.

Я не знаю, поможет ли это, но это тест:

Test.describe("Basic tests",() => {
  Test.assertEquals(multiTable(5), '1 * 5 = 5\n2 * 5 = 10\n3 * 5 = 15\n4 * 5 = 20\n5 * 5 = 25\n6 * 5 = 30\n7 * 5 = 35\n8 * 5 = 40\n9 * 5 = 45\n10 * 5 = 50');
  })

2 ответа

Решение

Я разобрался с решением вот оно

function multiTable(number) {
var table = '';
for(i=1;i<11;i++){
if(i === 10){
table += i+ " * " +number+ " = " +(i*number);
}else{
table += i+ " * " +number+ " = " +(i*number)+ "\n";
}
}
return table;
}

function multiTable(number) {
    var table = '';
    for(var i = 1; i < 10; i += 1){ // print 9 times with \n
        table += i + " * " + number + " = " + (i * number) + "\n";
    }
    table += 10 + " * " + number + " = " + (10 * number); // and last line
    return table;
}

console.log(multiTable(5));
.as-console-wrapper { max-height: 100% !important; top: 0; }

Другие вопросы по тегам