Ответ @Nina Scholz правильный и является хорошим способом функционального решения проблемы.В долгосрочной перспективе изучение JavaScript - это путь.
На тот случай, если одновременно потребуется слишком много новых концепций, я предоставлю решение, более совместимое с реализованной вами функцией:
// you don't need lambda expressions, just a plain old function
function sortBool(arr) {
var falsyTypes = {};
// you can use a for for a slightly more compact syntax
for(var index = 0; index < arr.length; index++) {
var val = arr[index];
// you don't need to eval. So please don't
if (!val) {
falsyTypes[val] = (falsyTypes[val] || 0) + 1;
}
}
return falsyTypes;
}
Как видите, метод немного длиннее, чем метод, использующий метод Reduce, но функционально эквивалентен.На самом деле, это точно так же.