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));
};
|
|
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.
|
|
20.02.2013, 15:46
|
|
Профессор
|
|
Регистрация: 28.02.2011
Сообщений: 349
|
|
По правилам языка определять функцию можно только на самом верхнем уровне, нельзя внутри блоков, условных операторов, циклов. Хотя на практике это обычно работает. (Внутри других функций функции определять можно, но тоже только на самом верхнем уровне)
|
|
20.02.2013, 15:50
|
Интересующийся
|
|
Регистрация: 20.02.2013
Сообщений: 18
|
|
Спасибо за помощь!!! Я разобрался теперь
|
|
20.02.2013, 15:52
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
rgl,
Да я просто скопипастил)
Исправил.
|
|
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);
|
|
20.02.2013, 16:02
|
Профессор
|
|
Регистрация: 12.12.2012
Сообщений: 1,398
|
|
|
|
20.02.2013, 16:03
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от 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.
|
|
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;
};
|
|
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)
|
|
|
|