Я пытаюсь реплицировать метод groupBy в lodash. Вот мой код:Как сгруппировать несколько значений в ключе, принадлежащем объекту в Javascript?
var array = [1.1,1.3,2.3,2.5,3.1,3.5];
function groupBy (collection, func) {
var result = {};
for (var i=0; i<array.length; i++) {
var property = func(array[i])
if ((property in result) === property) {
result[property] = array[i];
} else {
result[property] = array[i];
}
}
return result;
}
console.log(groupBy(array, function(n){return Math.floor(n) }));
Проблема у меня в том, что стоимость принадлежащая к ключу заменяется использование моего первым, если филиал, но я не уверен, как изменить эту ветку, чтобы сделать каждую клавишу укажите несколько значений, связанных с ним. Мой вывод: {'1': 1.3, '2': 2.5, '3': 3.5}, но должен быть {'1': 1.1, 1.3 ... и т. Д.
Спасибо!
Да! Я не понимал, что это действительно массив. Я добавил в оператор else, чтобы он работал для моего кода: var array = [1.1,1.3,2.3,2.5,3.1,3.5]; функция группаBy (коллекция, func) { var result = {}; for (var i = 0; i