有一个JS对象数组。 Object具有以下属性:
数组按(年份+名称)排序。给出“name”属性中只有2个不同的值。
目标是生成另一个JS数组,按年份排序,包含仅包含2个属性的对象:
如果其中一个工资不存在或者给定年份为0,那么今年不会创建对象shell。
我尝试使用_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的中间数组。
答案 0 :(得分:0)
尝试这个:
_.chain(arr)
.groupBy('year')
.map((salary, year) => [year, 100 * salary[0].salary / salary[1].salary])
.sortBy('0')
.value()