Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сложение всех элементов двух массивов. (https://javascript.ru/forum/misc/43321-slozhenie-vsekh-ehlementov-dvukh-massivov.html)

sharun 01.12.2013 17:18

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

Значит, третий массив должен быть с данными [5,8,6]. Как можно такое реализовать? Желательно с пояснениями.

lord2kim 01.12.2013 17:23

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);

sharun 01.12.2013 17:27

Спасибо, учту.

Maxmaxmaximus3 01.12.2013 18:58

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

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

alert(arr3)



п.с. правильный потому что map семантически говорит человеку о том что щас будет происходить, а код функции говорит как именно это будет происходить.

lord2kim 01.12.2013 19:04

Maxmaxmaximus3, но не забывай говорить, что данный метод в IE по умолчанию отсутствует...(((

Maxmaxmaximus3 01.12.2013 19:12

правильно поддерживать текущую версию браузера и предпоследнюю, щас 11, предпоследняя 10, девятку уже можно не поддерживать но И ТАМ метод был. ты немного в прошлом застрял парень)

рони 01.12.2013 19:17

:)
var arr = [1, 5, 4]
var arr2 = [4, 3, 2]
alert((+arr.join('')+ +arr2.join('')+'').split(''))

lord2kim 01.12.2013 19:24

Maxmaxmaximus3, мб мб...но как ни крути на Windows 8 люди не тянутся переходить...а в 7-ке по умолчанию IE 8 к сожалению(((

Maxmaxmaximus3 01.12.2013 21:20

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

Цитата:

Сообщение от lord2kim
.но как ни крути на Windows 8 люди не тянутся

на чем основано это утверждение?

danik.js 01.12.2013 21:20

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


Часовой пояс GMT +3, время: 06:26.