基本的过滤器了解指路👉EasyV过滤器基础教程
本整理文档中使用的callbackArgs为平台回调指路👉回调使用
标准过滤器模板
使用标准过滤器模版有助于理解与维护
标题回调测试
用于简单展示查看回调是否传出以及传出值的具体内容
示例:地图回调测试
提取数据
常用于api数据接入,提取需要的数据层级
单个翻牌器
简单的根据获取数据进行对应
多个翻牌器
key筛选—注入
翻牌器内加入标识字段key
name筛选—注入
直接在翻牌器数据的name字段进行标识
生成时间戳
时间计算
返回选中时间的不同时间格式
获取前一周时间日期
单系列—注入
多系列—注入(排序)
循环对比—注入
Map映射-注入
筛选—注入
经纬度注入(csv)
分页计算
数值千分位转换
进制计算
数据详情—分发
数据-置顶处理
在既有数组里置顶某一元素
数据-升降序处理
如有既定排序规则,即简单使用排序。
数据-根据日期排序处理
总数相加处理
飞线生成器
这里需要用到两个数据容器,容器a用于存放所有地图点位数据,这里需要用数组来包裹每个点位数据,数组中第一个元素是点位名称,第二个是该点位的经纬度,且必须是二维数组格式,数据格式如下:
容器a通过回调将数据传递给容器b,b接受数据,再导入csv格式的数据后,可以根据csv中的 "点位名称" 字段来生成飞线的数据。点位名称样例:“成都-北京”
具体案例详见大租户下的这个屏:https://easyv.cloud/workspace/create/445578
一维数组 --> 二维数组。
用于将一维数组根据某个字段进行分类,形成二维数组。对于大体量的数据而言,将数据进行分类可以帮助快速查找某条数据,减少数组的遍历次数。这里的代码最后又将map对象转换成了数组,其实是可以省略的,map对象的查找速度会更快一些。
过滤器代码:
整体数组以关键字段筛选分系列
一维数组 --> 三维数组。
用于将一维数组根据某两个字段进行分类,形成三维数组。
数组 --> 树形结构
可以用于获取数据库数据处理成层级嵌套数据的通用算法;
复制代码
function getTree(arr){
let obj ={},treeList = [];
arr.forEach(item=>{
obj[item.id] = item //id是子级的ID
if(obj[item.pid]){
//pid是父级的ID-parentId
if(obj[item.pid].children){
obj[item.pid].children.push(item)
}else{
obj[item.pid].children =[item]
}
}else{
treeList.push(item)
}
})
return treeList
}
return getTree(data)
数组对象 --> 对比去重
1.map映射方法
function dupreRemove(data){
let map = new Map();
for (let item of data) {
if (!map.has(item.id)) {
map.set(item.id, item);
};
};
data = [...map.values()];
return data
}
2.循环去重
//id仅为唯一确定区分的标识,具体以数据情况为准
function dupreRemove(data) {
for (let i = 0; i < data.length; i++) {
for (let j = i + 1; j < data.length; j++) {
if (data[i].id == data[j].id) {
data.splice(j, 1);
j--;
};
};
};
return data;
};