将子项相加,只取X个,并按其日期属性排序。
代码示例:
var items = [{name: 'item1', value: 10, date: '2021-01-01'}, {name: 'item2', value: 20, date: '2021-01-02'}, {name: 'item3', value: 30, date: '2021-01-03'}, {name: 'item4', value: 40, date: '2021-01-04'}, {name: 'item5', value: 50, date: '2021-01-05'}, {name: 'item6', value: 60, date: '2021-01-06'}, {name: 'item7', value: 70, date: '2021-01-07'}, {name: 'item8', value: 80, date: '2021-01-08'}, {name: 'item9', value: 90, date: '2021-01-09'}, {name: 'item10', value: 100, date: '2021-01-10'}];
// 按日期属性排序
items = items.sort(function(a, b) {
return new Date(b.date) - new Date(a.date);
});
// 只取前3项
var filteredItems = items.slice(0, 3);
// 计算子项的总和
var sum = filteredItems.reduce(function(total, item) {
return total + item.value;
}, 0);
console.log(sum); // 输出结果为90(item5, item6, item7的value属性之和)