Как правильно использовать литерал объекта для отслеживания нескольких (неизвестных) значений? - PullRequest
0 голосов
/ 01 апреля 2019

Учитывая следующий код, существует переменная 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, но я не знаю, какой статус может дать функция.


Попытка сделать заголовок как можно более четким и кратким, если его можно улучшить, смело редактируйте его.

...