нужно написать функцию, которая будет создавать массив из чисел и высчитывать сумму первого и последнего элементов массива и имеет один параметр
function fn(number) {
let sum = 0;
let arr = [];
for (let i = 0; i <= number; i+=1 ){
console.log(i);
}
return sum = arr[0] + arr[number.length - 1];
}
fn(5);
console.log(sum);
получается что выводит с 0 до 5, но не складывает первый и последний элементы массива, где ошибка?, а sum выдает ошибку, хотя ведь sum объявлена.
Выводить-то выводит, но вывод это просто результат console.log(i). Не происходит наполнения самого массива. С этой перспективы понятно что дальше делать?
Она объявлена внутри функции, внутри функции она и будет доступна. Чтобы увидеть сумму первого и последнего тебе нужно вывести в консоль результат вызова функции: console.log(fn(5))
function fn(number) {
let sum = 0;
let arr = [];
for (let i = 1; i <= number; i+=1 ){
//console.log(i);
}
return sum = arr[0] + arr[number.length - 1];
}
//fn(5);
//console.log(sum);
console.log(fn(5));//NaN
Смотрим внимательнее на второй аргумент, а там берется .length не от массива элементы которого мы хотим сложить.
И все еще ты не наполнил массив элементами, только вывел числа в консоль (что далеко не тоже самое что и наполнение массива). Без наполнения массива числами ты не сможешь правильно описать последний шаг - суммирование. Нужно начать с наполнения массива
Сделай console.log('arr', arr) перед return, и станет понятнее что я имею в виду.
function fn(number) {
let sum = 0;
let arr = [];
for (let i = 1; i <= number; i += 1){
arr.push(i);
console.log(arr);
console.log(i);
}
return sum = arr[0] + arr.length;
}
console.log(fn(5));//6
Это суммирование первого элемента с длиной массива. По стечению обстоятельств этот код будет давать нужное тебе число, но способ вычисления некорректный. Нужно переписать именно на использование элемента массива а не длины массива.
Это корректный код с точкни зрения задачи “первый и последний элемент массива”. Но с инженерной точки зрения не стоит использовать методы который мутируют данные (а метод pop изменит оригинальны массив). Хоть в этом конкретном случае последствий нет (массив более никак не используется), не стоит останавливаться именно на этом коде.
Всегда пожалуйста. Пиши посты, в обсуждении них и разберемся. Не я, так кто-то другой с форума подскажет. Тут достаточно умных людей которые дадут полезную перспективу на твои вопросы.
Плюс приглашай людей, делись постом/сайтом в местах своего социального обитания. Больше людей - больше движа - больше пользы от времени тех кто помогает.