Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.10.2014, 18:35
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 1  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
По умолчанию Сумма всех элементов массива

Всем привет,
Есть массив содержащий числа, как мне сложить их между собой и получить сумму?
Код AS3:
var arrayA:Array = [2,4,6];
var Summ:Number;
 
for (var i:int = 0; i < arrayA.length; i++) 
{
	Summ = ?
}
trace (Summ);

Старый 10.10.2014, 18:38
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 2  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Код AS3:
var arrayA:Array = [2,4,6];
var Summ:Number = 0;
 
for (var i:int = 0; i < arrayA.length; i++) 
{
	Summ += Number(arrayA[i]);
}
trace (Summ);

Старый 10.10.2014, 18:48
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 3  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Код AS3:
var Summ:Number;
Название свойств-переменных не пишут с большой буквы.

Старый 10.10.2014, 19:08
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 4  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Код AS3:
import flash.errors.IllegalOperationError;
var _arrayA:Array = [2,4,6,"для проверки"];
var _summ:Number = 0;
var _lengthArray:int = _arrayA.length;
for (var i:int = 0; i < _lengthArray; i++){
	if(isNaN(_arrayA[i])){
	   throw new IllegalOperationError("Массив содержит не только числа!!!");
	}else{
		_summ += Number(_arrayA[i]);
	}
}
trace (_summ);

Старый 10.10.2014, 19:16
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 5  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Жара

Добавлено через 52 секунды
А где проверка на существование массива?

Добавлено через 2 минуты
И в else нужды нет.

Добавлено через 3 минуты
Начать с конца или начала разницы нет, значит можно и от for отказаться.

Старый 10.10.2014, 19:32
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 6  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
А где проверка на существование массива? - если массива нет, об этом позаботится компилятор, если массив пустой. цикл не выполнится.
И в else нужды нет. из той же оперы, как называть переменные.(Хороший тон)

Начать с конца или начала разницы нет, значит можно и от for отказаться. Не понял вопрос.

Старый 10.10.2014, 20:13
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 7  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Да это не вопросы, а cnt,! Вы так грамотно все расписали, что захотелось придраться с мелочами
Про for... Mo;yj было бы отказаться от него и написать
Код AS3:
while( length-- ){...};
А по второму Вашему ответу я не согласен, ведь пишут
Код AS3:
if( prop == value)return;
prop = value;
и ничего ужасного в этом нет.
А про первый, да Вы правы, но можно и от жутких элементов застраховаться и от ifelse отказаться при помощи Vector<Number>

Старый 10.10.2014, 20:37
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 8  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Использовать Vector<Number> - это куда продуктивнее совет, чем:"Название свойств-переменных не пишут с большой буквы."
Я ничего не имею против того, что люди делают замечания, но когда это становится выше самого вопроса темы...
Использоват for или while - это опять же стиль разработчика. Мне for больше нравится.
По второму пункту ведь написал автор с большой буквы и ничего, работает. А вот читабельность пострадала.

Старый 10.10.2014, 21:17
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Полноте, господа. Все в сад.

Для ТС: Vector.<Number>#forEach() еще можно пользовать, но не забывать, что NaN может быть значением типа Number.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 11.10.2014, 16:43
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 10  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
все гораздо сложней

Код AS3:
var array:Array = [1, 2, 3, 4, 5];
var summ:Number = 0;
 
var len:uint = array.length;
for(var i:uint = 0; i < len; i++){
  var v:* = array[i];
  if(v == v && v is Number){
    summ += v;
  } else {
    summ = NaN;
    break;
  }
}
проблема в том, что есть valueOf, и если я начну делать сумму [new Date(), new Date()] то все очень плохо

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.