Особенности таблицы умножения 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; }