Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сложить несколько массивов в один?

руслан ахмадуллов Ученик (107), закрыт 4 года назад
Программно создается 4 массива с помощью .each. Мне нужно получить сумму элементов из каждого массива. Как можно сделать?
Лучший ответ
Редис Александрович Оракул (77333) 4 года назад
Дывысь хлопче, оце сумма arrSum

const arrSum = arr => arr.reduce((a,b) => a + b, 0)
// arrSum([20, 10, 5, 10]) -> 45

если ты применишь в цикле это к каждому масиву, и будешь сохранять в переменную которую вынесешь за цикл что бы там инициализировать, например var $x;
то в конце цикла у тебя в $x будет сумма всех элементов всех масивов. Слава JQUERY!
Остальные ответы
Metotron Искусственный Интеллект (114872) 4 года назад
У массива в JS есть метод .concat()
руслан ахмадулловУченик (107) 4 года назад
Он ничего не дает.
Metotron Искусственный Интеллект (114872) Сумма элементов — это математическая сумма что ли? Ну тогда, действительно, reduce можно использовать, как выше написали. А вообще, до этого each заведи переменную и плюсуй её. Мне ещё не понятно, зачем числа заворачивать в массив.
Ярослав Искусственный Интеллект (107837) 4 года назад
А нахрена ты создаешь 4 массива, если значения в них нужно суммировать?
руслан ахмадулловУченик (107) 4 года назад
ты читал вообще вопрос. эти массивы создаются функцией сами, мне вообще не нужен этот массив, мне нужно получить все цифры из html документа и получить их сумму.
Все цифры я получил с помощью .each но они выводятся отдельно.
Ярослав Искусственный Интеллект (107837) Я читал и вопрос, и говнокод на скриншоте в нем. Массивы создаются не функцией, и уж тем более не "сами" - они создаются твоей тупостью, которую ты в эту функцию вложил, оборачивая каждое отдельное значение в массив. let sum = $('.price_item').map((i, el) => +$(el).attr('price')).get().reduce((r, v) => r += v);
Похожие вопросы