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

lord2kim 02.12.2013 10:07

Цитата:

Сообщение от Maxmaxmaximus3 (Сообщение 283869)
верно ли я понимаю что на твой сайт люди будут заходить с работы за место того чтобы работать???? такова твоя задумка? то есть у них будет в кармане мобила где все летает, но они будут сидеть С РАБОЧЕГО КОМПА ЧЕРЕЗ ИШАК?

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

Цитата:

Сообщение от Maxmaxmaximus3 (Сообщение 283869)
на чем основано это утверждение?

на опыте...ибо таковое встречается до сих пор...

Maxmaxmaximus3 02.12.2013 13:23

Ой, а можешь пример на скорую руку вспомнить? =) и сколько платили

kobezzza 02.12.2013 15:07

Цитата:

Когда я фрилансил поддержка ИЕ6-7 для меня была дополнительные 10-15к сверху
Писал же.

Прост когда договариваешься о работе, нужно заранее эти вещи обсудить, чтобы потом внезапно не всплыло, что он думал, что всё должно быть включено заранее. А если человек хочет и платит за это, то кто я такой чтобы его отговаривать?) Зачем мне знать зачем ему это нужно: может и вправду нужно, а может и нет, какая разница :)

shtazzy 14.05.2018 14:19

Цитата:

Сообщение от lord2kim (Сообщение 283782)
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);

Cпасибо за простое решение! Хотя оно и устаревшее, я так думаю, ведь сейчас модно использовать функциональные методы массивов. :) Но меня интересует другое в этом решении: как js "подхватывает" элементы второго массива (arr2[i]), если мы перебираем первый arr. Кто-нибудь может дать понятное объяснение? Заранее благодарен! :thanks:

Dilettante_Pro 14.05.2018 14:36

Цитата:

Сообщение от shtazzy
мы перебираем первый arr

В операторе for (i=0; i < arr.length; i++) мы не перебираем первый arr, а задаем i от 0 до i < arr.length
Внутри цикла по заданному i берем элементы массивов arr[i]+arr2[i],
т.е. arr[0]+arr2[0], arr[1]+arr2[1] .....

Nexus 14.05.2018 14:41

Цитата:

Сообщение от shtazzy
как js "подхватывает" элементы второго массива (arr2[i]), если мы перебираем первый arr

Оба массива определены и доступны в цикле, длинна массивов одинаковая, ключи совпадают.
Цикл for после каждой итерации увеличивает значение переменной i на 1.
Значение переменной i будет являться корректным ключом для обоих массивов.

ps. не видел поста Dilettante_Pro.

Dilettante_Pro 14.05.2018 14:46

Цитата:

Сообщение от Nexus
не видел поста

Такое часто бывает... Ничего: повторение - мать учения

ruslan_mart 14.05.2018 15:38

Не очень удачный пример. i вообще не определена.

var arr1 = [1, 5, 4], arr2 = [4, 3, 2, 5], arr3 = [];

var length = Math.max(arr1.length, arr2.length);

for(var i = 0; i !== length; i++) {
   arr3.push((i in arr1 ? arr1[i] : 0) + (i in arr2 ? arr2[i] : 0));
}

alert( arr3 );


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