![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 15:30
|
Интересующийся
|
|
Регистрация: 20.02.2013
Сообщений: 18
|
|
Работа с массивом
Приветствую!
Подскажите пожалуйста как сделать, чтобы возвращалась сумма квадратов элементов массива???
var arr = [1,2,null,3,,4,5];
for(var keys = 0;keys<arr.length;keys++){
if(!arr[keys]) continue;
var xx = arr[keys];
function s(x){
var sum = 0;
return sum += x*x;
};
alert('Summa = ' + s(xx));
};
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 15:39
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
var arr = [1,2,null,3,,4,5];
var summ = 0;
function s(x){
var sum = 0;
summ += x * x;
return sum += x*x;
};
for(var keys = 0;keys<arr.length;keys++){
if(!arr[keys]) continue;
var xx = arr[keys];
alert('Summa = ' + s(xx));
};
alert('Summa elementov massiva = ' + summ);
Последний раз редактировалось tsigel, 20.02.2013 в 15:52.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 15:46
|
![Аватар для rgl](https://javascript.ru/forum/image.php?u=12061&dateline=1503935422) |
Профессор
|
|
Регистрация: 28.02.2011
Сообщений: 349
|
|
По правилам языка определять функцию можно только на самом верхнем уровне, нельзя внутри блоков, условных операторов, циклов. Хотя на практике это обычно работает. (Внутри других функций функции определять можно, но тоже только на самом верхнем уровне)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 15:50
|
Интересующийся
|
|
Регистрация: 20.02.2013
Сообщений: 18
|
|
Спасибо за помощь!!! Я разобрался теперь ![Victory](https://javascript.ru/forum/images/smilies/victory.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 15:52
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
rgl,
Да я просто скопипастил)
Исправил.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 15:59
|
Интересующийся
|
|
Регистрация: 20.02.2013
Сообщений: 18
|
|
думаю так вернее
var arr = [1,2,null,3,,4,5];
function s(x){
return sum += x*x;
};
var sum = 0;
for(var keys = 0;keys<arr.length;keys++){
if(!arr[keys]) continue;
var xx = arr[keys];
s(xx);
};
alert('Summa = ' + sum);
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 16:02
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 16:03
|
![Аватар для ksa](https://javascript.ru/forum/image.php?u=8616&dateline=1282216923) |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,136
|
|
Сообщение от Alexej
|
думаю так вернее
|
А так симпотнее...
var arr = [1,2,null,3,,4,5];
var sum = 0;
for(var keys = 0;keys<arr.length;keys++){
if(!arr[keys]) continue;
var xx = arr[keys];
s(xx);
};
alert('Summa = ' + sum);
function s(x){
return sum += x*x;
};
Последний раз редактировалось ksa, 20.02.2013 в 16:05.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 16:05
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
var arr = [1,2,null,3,,4,5];
var sum = 0;
for ( var keys in arr ){
if(!arr[keys]) continue;
var xx = arr[keys];
s(xx);
};
alert('Summa = ' + sum);
function s(x){
return sum += x*x;
};
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
20.02.2013, 16:14
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
var arr = [1,2,null,3,,4,5];
var Summ = eval(arr.join(',').replace(/(?:^|,)(\d*)/ig,'+$1*$1').replace(/\*\+/g,''))
alert(Summ)
|
|
|
|