У меня есть вопрос относительно уменьшения поведения подчеркивания с объектом.Подчеркивание _.изменяет поведение с объектом
Учитывая следующий объект:
var data = [ { type: "A", val: 2 },
{ type: "B", val: 3 },
{ type: "R", val: 3 },
{ type: "L", val: 3 },
{ type: "R", val: 3 },
{ type: "A", val: 1 },
{ type: "B", val: 5 } ];
И следующая функция:
output = _(data).reduce(function(mem, d) {
console.log(mem);
mem[d.type] = d.type;
return mem
}, {});
Выход в консоли для всех 8 итераций:
Object { A: "A", B: "B", R: "R", L: "L" }
1) Почему это происходит, должен ли первый вывод не быть пустым, поскольку я дал ему {} в качестве моего начального состояния?
2) Почему это так, что все уникальные типы были найдены с первой итерации?
Любая помощь будет оценена, спасибо.
Вы протоколированием объекта а затем изменить его на следующей итерации; это вопрос о том, как объекты регистрируются в браузере, а не о том, как работает 'сокращение'. – Mathletics
вы фактически не используете _.reduce, вы используете [] .reduce ... – dandavis
@ dandavis, независимо от того, что такое '_', что не связано с проблемой. –