function range(x,y){
var listRangeNumber = [];
while( x <= y ){
listRangeNumber.push(x);
x++;
}
for (k = 0; k <= listRangeNumber.lenght; k++) {
listSumNumber += listRangeNumber[k];
console.log(listSumNumber);
}
return listRangeNumber;
}
x = prompt("Enter lesser number");
y = prompt("Enter bigger number");
alert( "Range of this numbers " + range(x,y));
Не получается вывести сумму хотя бы в консоль, но вывод диапазона работает.
Во-первых у тебя в ТЗ сказано, что сумму вычислять нужно в отдельной функции. Во-вторых это же рекомендуется для стиля кода - код разбивать на функции, каждая выполняет минимальное действие. Вот твою функцию можно разделить на две.
function range(x,y){
var listRangeNumber = [];
var listSumNumber;
while( x <= y ){
listRangeNumber.push(x);
x++;
}
for (k = 0; k <= listRangeNumber.lenght; k++) {
listSumNumber += listRangeNumber[k];
console.log(listSumNumber);
}
return listRangeNumber;
}
x = prompt("Enter lesser number");
y = prompt("Enter bigger number");
alert( "Range this numbers " + range(x,y));
Я разбил всё это дело на две функции. Но какой параметр мне нужно вписать в функцию sum() ?. И что нужно написать вместо “listRangeNumber” в sum() ?
function range(x,y){
var listRangeNumber = [];
while( x <= y ){
listRangeNumber.push(x);
x++;
}
return listRangeNumber;
}
function sum(){
var listSumNumber = 0;
for (k = 0; k <= listRangeNumber.lenght; k++) {
listSumNumber += listRangeNumber[k];
console.log(listSumNumber);
}
}
x = prompt("Enter lesser number");
y = prompt("Enter bigger number");
alert( "Range this numbers " + range(x,y));
'use strict';
function range(x, y) {
var listRangeNumber = [];
while (x <= y) listRangeNumber.push(x++);
return listRangeNumber;
}
function sum(ran) {
var listSumNumber = 0;
for (var i of ran) console.log((listSumNumber += i));
return listSumNumber;
}
У меня да. Что у вас не работает? К стати, чтоб научиться выявлять ошибки лучше пользоваться не console.log, а debug - ом. Это все равно что сравнивать, что кушать рис китайскими палочками или ложкой/вилкой
Это простая задача. Но чтобы она не была тяжелой, как штанга, нужно прийти к ней последовательно. Взять хорошую книгу по JavaScript и изучать по порядку.
Спасибо, я более менее что то понял из увиденного. Этот пример как раз из книги “Выразительный javascript”. Дело в том что в книжке на этом моменте ещё не объясняли про for of, по этому я пытался сделать через цикл.
А эта запись
for (k = 0; k <= listRangeNumber.lenght; k++) {
listSumNumber += listRangeNumber[k];
};
тождественна этой записи ?
for (var i of ran) (listSumNumber += i);
Вот и изучите цикл for of. Нормальная книга по языку программирования “весит” не менее 1500 стр. По Java, лет 8-10 назад книга занимала 2 тома по 1000 стр. Хорошего объема книга по JavaScript:
Современный учебник
Дэвид Флэнаган - хоть там не описан стандарт ECMAScript 2015, нужна еще книга наподобие “Новинки ES6”
Разобрался окончательно. Функция prompt принимает значения типа string. Ещё в книжке был описан цикл for…in, его можно использовать для перебора свойств объекта.
function range(x,y){
var listRangeNumber = [];
while( x <= y ){
listRangeNumber.push(x);
x++;
}
return listRangeNumber;
}
function sum(range){
var listSumNumber = 0;
for (var k in range) {
listSumNumber += range[k];
}
return listSumNumber;
}
alert( "Range this numbers " + range(x,y));
alert (sum(range(x,y)));