Не понимаю отчего мой JS-код не хочет выводить 10 рандомных чисел, так чтоб текст (заголовок) отсутствовал

Пишу такой javaScript код:

// рандомно число от 0 до 10
    function rand() {
      return Math.round(Math.random() * 10);
    }

// Фунция№2, где выводится тест + 10 рандомных чисел
    function get(n) {
      let a = 'Случайные числа от 1 до 10<hr>'
      for (let k = 1; k <= n; k++) {
        a = a + rand();
      }
      return a;
    }

    document.write(get(10))

Но когда внутри функции меняю так (думая, что будут только одни рандомные цифры, без текста перед ними):

   

// рандомно число от 0 до 10
    function rand() {
      return Math.round(Math.random() * 10);
    }

// Фунция№2, где убираю тест + но куда-то исчезли 10 рандомных чисел  
function get(n) {
      
      for (let k = 1; k <= n; k++) {
        let a = rand();
      }
      return a;
    }
document.write( get (10))

то в итоге такое творчество выдает мне только ОДНО рандомное значение, вместо желаемых 10.

Как и что сменить в коде, чтоб могло выдать только 10 рандомных чисел, без текста впереди (варианты без использования двух function - не принимаются :-) ).

Благодарю, если кто подскажет.


Ответы (1 шт):

Автор решения: twerk kid

Дело в том, что ваш цикл for в первом варианте собирает все значения переменной a в одну строку и выводит, а во втором варианте он пере-присваивает той же переменной другое значение, и отдаёт только последнее. То, что вам нужно это

// рандомно число от 0 до 10
function rand() {
return Math.round(Math.random() * 10);
}

// Функция №2, где убираю тест + но куда-то исчезли 10 рандомных чисел  
function get(n) {
let a = '';
    
for (let k = 1; k <= n; k++) {
    a += rand() + '<br>';
}
    
return a;
}

document.write(get(10))

Так функция возвращает все числа и разделяет их html-элеметом (переносом строки) <br>

→ Ссылка