Пока я пытался проверить, сколько раз элемент используется в массиве, я нашел этот код.Это написано другим пользователем, и я заставил его работать, но я пытаюсь выяснить, почему он использовал "{}" в конце.Я знаю, что метод .reduce () может получить initialValue, но я не мог понять использование фигурных скобок.
var a = ["a","b","b","c","a","b","d"];
var map = a.reduce(function(obj, b) { obj[b] = ++obj[b] || 1;
return obj;
}, {});
Я думал, что они могут быть параметром initialValue, поскольку он покрывает результат, но когда я попытался удалить фигурные скобки, результат был не таким.Я также проверил документы MDN, нашел какой-то похожий код, но не смог обдумать его, так как я совершенно новый в JavaScript.
Когда мы используем скобки, я получаю:
{
a: 2,
b: 3,
c: 1,
d: 1
}
Но когда я удаляю фигурные скобки и запускаю их, я получаю:
a
Я пытался использовать скобки, и это выглядело как: [a: 2, b: 3, c: 1, d: 1],
Так что, кажется, фигурные скобки заключают значения, но разве не должно работать без скобок?