Существует массив объектов JS. Объект имеет следующие атрибуты:Использование lodash для группировки данных
- год
- имя
- зарплата
Массив сортируется (год + имя). Дано то, что в атрибуте «name» имеется только 2 разных значения.
Цель состоит в том, чтобы создать другой массив JS, отсортированный по годам, содержащие объекты с 2-мя атрибуты только:
- года
- 100 * (зарплата имени # 1)/(заработную плату для имени # 2)
Если одна из зарплат не существует или 0 за данный год, то оболочка объекта не будет создана для этого года.
Я пытался использовать _lodash (я не уверен, что это правильный инструмент для этого):
var groupByYear =_.groupby(myArray, function(element){
return element.year;
};
return _.map(groupByYear, function(el){
if (el.size() == 2 and el[0].salary > 0 and el[1].salary > 0)
return { "year": el[0].year , "percent": 100 * el[0].salary/el[1].salary };
}
, но я не уверен, что это правильный подход; например, создается промежуточная матрица с именем groupByYear.
Было бы легче для нас, чтобы помочь вам, если вы предоставите выборки ввода и вывода данных выборки. – ryeballar
Пожалуйста, введите полный пример ввода и полный пример вывода –