Уже видел ответы на вопрос подсчёта повторений в массиве, но не понятно, что конкретно делает 2строка acc[el] = (acc[el] || 0) + 1;
var result = [1, 3, 4, 1, 1, 3, 4, 5].reduce(function(acc, el) {
acc[el] = (acc[el] || 0) + 1;
return acc;
}, {});
Это (acc[el] || 0)
выражение в скобках вернёт acc[el]
, если оно эквивалентно true
, или 0 в ином случае.
Часто используется в js
для присвоения значения по-умолчанию. (var obj = o || {}
- если o
равен undefined
, null
, false
и тд, то в переменную obj
пойдёт {}
пустой объект).
Или вот:
alert(null || undefined || false || '' || 0 || 4 || 'bar'); // alerts '4'
Первый параметр, который эквивалентен логическому true
, и будет выведен.
Здесь есть несколько хороших ответов на эту тему.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Моя проблема заключается в (1045, "Access denied for user ')Вот код на python
Есть сайт на woocommerceРаботает по 3 странам и на страницах есть переключатель страны
Суть проблемы такова, я подключаю markdown к своему редактору, он прекрасно работает, показывает превью и все очень хорошо