Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2013, 17:18
Новичок на форуме
Отправить личное сообщение для sharun Посмотреть профиль Найти все сообщения от sharun
 
Регистрация: 01.12.2013
Сообщений: 3

Сложение всех элементов двух массивов.
Приветствую. Я новичок в JS и не совсем понимаю, как работать с массивами. Передо мной стоит задача: сложить соответствующие элементы двух массивов и создать из них третий. Например: у нас есть два массива
var arr = [1, 5, 4]
var arr2 = [4, 3, 2]

Значит, третий массив должен быть с данными [5,8,6]. Как можно такое реализовать? Желательно с пояснениями.
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2013, 17:23
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

sharun, по хорошему вам стоит начать с учебника, т.к. не разобравшись в основах дальше будет все сложнее и сложнее...
var arr = [1, 5, 4], arr2 = [4, 3, 2], arr3 = [];

for (i=0; i < arr.length; i++) { // цикл по всем элементам массива(-ов) (в данном случае учитывается что массивы равны по длине)
	arr3.push(arr[i]+arr2[i]); // метод push() добавляет элемент(-ы) в конец массива, в данном случае сумму i-ых элементов первого и второго массивов
}

alert(arr3);
Ответить с цитированием
  #3 (permalink)  
Старый 01.12.2013, 17:27
Новичок на форуме
Отправить личное сообщение для sharun Посмотреть профиль Найти все сообщения от sharun
 
Регистрация: 01.12.2013
Сообщений: 3

Спасибо, учту.
Ответить с цитированием
  #4 (permalink)  
Старый 01.12.2013, 18:58
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

более правильный способ)
var arr = [1, 5, 4]
var arr2 = [4, 3, 2]

var arr3 = arr.map(function(value, index){ return value + arr2[index] })

alert(arr3)



п.с. правильный потому что map семантически говорит человеку о том что щас будет происходить, а код функции говорит как именно это будет происходить.
Ответить с цитированием
  #5 (permalink)  
Старый 01.12.2013, 19:04
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Maxmaxmaximus3, но не забывай говорить, что данный метод в IE по умолчанию отсутствует...(((
Ответить с цитированием
  #6 (permalink)  
Старый 01.12.2013, 19:12
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

правильно поддерживать текущую версию браузера и предпоследнюю, щас 11, предпоследняя 10, девятку уже можно не поддерживать но И ТАМ метод был. ты немного в прошлом застрял парень)
Ответить с цитированием
  #7 (permalink)  
Старый 01.12.2013, 19:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068


var arr = [1, 5, 4]
var arr2 = [4, 3, 2]
alert((+arr.join('')+ +arr2.join('')+'').split(''))
Ответить с цитированием
  #8 (permalink)  
Старый 01.12.2013, 19:24
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Maxmaxmaximus3, мб мб...но как ни крути на Windows 8 люди не тянутся переходить...а в 7-ке по умолчанию IE 8 к сожалению(((
Ответить с цитированием
  #9 (permalink)  
Старый 01.12.2013, 21:20
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

Сколько процентов людей использует ie8?
Сколько из них делают это потому что домохозяйки а не потому что они на работе а там админ не разрешает менять?
вот и поговорили

Сообщение от lord2kim
.но как ни крути на Windows 8 люди не тянутся
на чем основано это утверждение?
Ответить с цитированием
  #10 (permalink)  
Старый 01.12.2013, 21:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

рони, очевидно, твой способ будет работать только если сумма каждой пары не перевалит за десятку. И беда если первые пары будут нулями.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пересечение и разность двух массивов harold Общие вопросы Javascript 9 18.12.2013 21:41
один обработчик для всех элементов определенного класса Pedro Garciya Lopez Events/DOM/Window 6 05.07.2013 22:39
Блокировка событий всех дочерних элементов moreo Элементы интерфейса 4 26.05.2012 23:58
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Суммирование значений всех элементов div frolvict jQuery 1 11.07.2011 17:05