Помогите решить вроде лёгкую задачку
Дано целое число n, большее 1. Найти квадрат данного числа, используя формулу n^2 = 1 + 3 + 5 + ... + (2 * n - 1). Из функции необходимо вывести строку, состоящую из чисел, получающихся на каждом шаге при добавлении каждого слагаемого (таким образом, получится строка из квадратов всех чисел от 1 до n).
Вот что у меня получилось
function testCycle(n) {
var x = "";
for (i = 1; i <= n; i++){
x += (2*i-1) + " "
}
return x;
}
console.log (testCycle(6))
По итогу мне выдает такую цепочку "1 3 5 7 9 11", а должен такую "1 4 9 16 25 36". Подскажите пожалуйста в чем моя ошибка?
P.S. дополнительный вопрос не в тему - почему return стоит после цикла, а не внутри него, по идее цикл должен выполняться внутри себя, а потом уже выводить return x внутри функции? Т.е. должно быть последнее посчитаете число. Но выполняется только когда return стоит после цикла.