В следующем коде есть переменная counts
, которая подсчитывает количество раз, когда функция functionThatGivesSomeKnownOrUnknownStatus
дает каждый статус.
const counts = {};
for (let i = 0; i < 100; i++) {
const status = functionThatGivesSomeKnownOrUnknownStatus();
counts[status] = counts[status] ? counts[status] + 1 : 1;
}
Часть, которая мне не нравится, это строка counts[status] = counts[status] ? counts[status] + 1 : 1;
, есть ли способ сделать ее короче и проще/менее избыточной/чище? Это скрипт узла, поэтому решения ES6/7 приветствуются.
Одним из способов может быть инициализация литерала counts
с ключами, уже установленными на 0
, но я не знаю, какой статус может дать функция.
Постарался сделать заголовок максимально четким и лаконичным. Если его можно улучшить, не стесняйтесь его редактировать.
counts[status] = (counts[status] || 0) + 1
экономит одно повторение. - person Ry-♦   schedule 01.04.2019Map
.) - person Ry-♦   schedule 01.04.2019