Сложение всех элементов двух массивов.
Приветствую. Я новичок в JS и не совсем понимаю, как работать с массивами. Передо мной стоит задача: сложить соответствующие элементы двух массивов и создать из них третий. Например: у нас есть два массива
var arr = [1, 5, 4] var arr2 = [4, 3, 2] Значит, третий массив должен быть с данными [5,8,6]. Как можно такое реализовать? Желательно с пояснениями. |
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);
|
Спасибо, учту.
|
более правильный способ)
var arr = [1, 5, 4]
var arr2 = [4, 3, 2]
var arr3 = arr.map(function(value, index){ return value + arr2[index] })
alert(arr3)
п.с. правильный потому что map семантически говорит человеку о том что щас будет происходить, а код функции говорит как именно это будет происходить. |
Maxmaxmaximus3, но не забывай говорить, что данный метод в IE по умолчанию отсутствует...(((
|
правильно поддерживать текущую версию браузера и предпоследнюю, щас 11, предпоследняя 10, девятку уже можно не поддерживать но И ТАМ метод был. ты немного в прошлом застрял парень)
|
:)
var arr = [1, 5, 4]
var arr2 = [4, 3, 2]
alert((+arr.join('')+ +arr2.join('')+'').split(''))
|
Maxmaxmaximus3, мб мб...но как ни крути на Windows 8 люди не тянутся переходить...а в 7-ке по умолчанию IE 8 к сожалению(((
|
Сколько процентов людей использует ie8?
Сколько из них делают это потому что домохозяйки а не потому что они на работе а там админ не разрешает менять? вот и поговорили Цитата:
|
рони, очевидно, твой способ будет работать только если сумма каждой пары не перевалит за десятку. И беда если первые пары будут нулями.
|
| Часовой пояс GMT +3, время: 20:29. |