Вам нужно вернуть totals
после его изменения:
const src = [{mon:1,tue:0,wed:3,thu:5,fri:7,sat:0,sun:4}, {mon:5,tue:3,wed:2,thu:0,fri:1,sat:0,sun:6}];
const res = src.reduce((totals, item) => {
Object.keys(item).forEach(weekday => totals[weekday] = (totals[weekday] || 0) + item[weekday]);
return totals;
}, {});
console.log(res);
При проверении недавнего материала вот то, что я чаще всего вижу:
strftime
Первое, что пришло на ум:
Я, вероятно, пропускаю некоторые очевидные.
Вот три хороших источника для взгляда на:
Я не использовал Perl в некоторое время (извините, мой работодатель использует соединение Java и C#), но я вспоминаю использование следующего вполне немного (в алфавитном порядке):
(Вы могли бы заметить внимание на модули веб-приложения неплатформы там...),
Я использую DBIx:: Простой вместо простого DBI, интерфейс является, ну, в общем, более простым и более регулярным. Кроме того, конечно, XML:: Ветка для обработки XML. Затем Getopt:: Станд. для (простых) опций и YAML:: Syck для временного хранения, которое не требует DB, а также отладки, вместо Данных:: Самосвал. И, как Вы, текст:: Шаблон для наиболее комплексного выхода.
Мои наиболее распространенные модули, вероятно,
Я не уверен, рассчитывает ли это как "инструмент" или нет, но я склонен писать свои программы в главным образом функциональном стиле. Я пытаюсь только присвоить каждой переменной однажды, и я стараюсь избегать подпрограмм, которые изменяют их аргументы. Я обычно предпочитаю"grep
"или"map
"по циклу. Самое большое исключение к этому правилу - когда я создаю возвращаемое значение. Я могу продвинуть вещи на конец массива или добавить объекты к хешу в цикле.
Не считая всю разработку модулей и тестовый материал набора инструментальных средств, моя панель инструментов для получения работы сделанный включала:
Основные детали:
Ручные инструменты:
Электроинструменты:
Я удивлен, что никто не упомянул Данные:: Самосвал, я склонен уезжать use
объявление в моих сценариях, потому что я знаю это, будет полезно для отладки обслуживания.
Я использовал их каждый довольно часто, многие из них возвращающийся 10 лет.
Модуль CPAN является, конечно, одним из лучших, которые мы иногда забываем о том, потому что он исчезает в фон. Это - метамодуль, так сказать.
Главная группа ниже появляется в выводе нашего newperl
сценарий, который обеспечивает рабочий пример лучших практик. получающийся сценарий жемчуга реализует некоторые основные требования и намекает на основную отладку, так, чтобы новички жемчуга могли разработать хорошие привычки использовать реальный дизайн. у нас есть аналогичное newperlmod
также.
Первые два больше похожи на прагмы в этом, они действительно сцепляются на природу созданного-ins языка.
Панель инструментов сбора данных - более специализированный
tie
с семейством G/DBM: для быстрых, масштабируемых хешей persisentНедавнее исследование, которое является благом для обслуживания. Полезный для вывода файлов конфигурации и пакетных файлов, например.
Сеть :: FTP. Большая часть моей работы включает извлечение файлов из одной системы, манипулирование ими и отправку их в другую систему.
Без Perl6 первый в приведенном выше списке делает модули бесконечно более читаемыми (IMHO).
С их помощью я разрабатываю веб-приложения и настольные приложения.
Я замечаю здесь много простых фанатов CGI.pm, хотя мне очень нравится CGI :: Application, особенно в сочетании с C :: A :: D. . Он по-прежнему довольно легкий, имеет разумное количество плагинов, приличный веб-сайт и не такой медленный и тяжелый, как Catalyst.