预期进件
{
"callLog": [
{
"name": "A",
"phone": "131",
"time": 1
},
{
"name": "A",
"phone": "132",
"time": 2
},
{
"name": "B",
"phone": "133",
"time": 3
}
]
}
与A
的通话次数
/** 求指定函数筛选后数据节点的数量
* @param source 需要求和的数据节点
* @param filterFunc 自定义的过滤函数
* @returns 筛选后数据节点的数量 */
$.feature = func.count(data.apply.callLog, e=>e.name === "A"); //2
与A
的通话总时间
/** 求指定函数筛选后指定数据节点的和
* @param source 需要求和的数据节点
* @param defaultValue 默认值
* @param mapFunc 自定义的转换函数
* @param filterFunc 自定义的过滤函数
* @returns 筛选后数据节点的和 */
$.feature = func.sum(data.apply.callLog, 0, e=>e.time, e=>e.name === "A"); //3
与A
的平均通话时间
/** 求指定函数筛选后指定数据节点的平均值
* @param source 需要求和的数据节点
* @param defaultValue 默认值
* @param mapFunc 自定义的转换函数
* @param filterFunc 自定义的过滤函数
* @returns 筛选后数据节点的平均值 */
$.feature = func.avg(data.apply.callLog, 0, e=>e.time, e=>e.name === "A"); //1
与A
的最长通话时间
/** 求指定函数筛选后指定数据节点的最大值
* @param source 需要求和的数据节点
* @param defaultValue 默认值
* @param mapFunc 自定义的转换函数
* @param filterFunc 自定义的过滤函数
* @returns 筛选后数据节点的最大值 */
$.feature = func.max(data.apply.callLog, 0, e=>e.time, e=>e.name === "A"); //2
与A
的最短通话时间
/** 求指定函数筛选后指定数据节点的最小值
* @param source 需要求和的数据节点
* @param defaultValue 默认值
* @param mapFunc 自定义的转换函数
* @param filterFunc 自定义的过滤函数
* @returns 筛选后数据节点的最小值 */
$.feature = func.min(data.apply.callLog, 0, e=>e.time, e=>e.name === "A"); //1
与不同人通话总数
/** 求指定函数筛选后指定数据节点的数量
* @param source 需要求和的数据节点
* @param mapFunc 自定义的转换函数
* @param filterFunc 自定义的过滤函数
* @returns 筛选后数据节点的最小值 */
$.feature = func.countBy(data.apply.callLog, e=>e.name); //2