var list = [
{ id: 1, name: '小明', type: '分类', y: 10, page:1 },
{ id: 2, name: '大明', type: '分钱', y: 15, page:1 },
{ id: 3, name: '中明', type: '分兵', y: 20, page:1 },
{ id: 4, name: '小明', type: '分分', y: 30, page:1 },
{ id: 5, name: '雷明', type: '分兵', y: 40, page:2 },
{ id: 6, name: '小明', type: '分兵', y: 90, page:2 },
{ id: 7, name: '出明', type: '分钱', y: 150, page:3 },
{ id: 8, name: '中明', type: '分钱', y: 160, page:4 },
{ id: 9, name: '出明', type: '分分钱', y: 400, page:1},
{ id: 10, name: '雷明', type: '分分钱', y: 500, page:1},
];
我想根据对象的 y值的相近 的值进行分组。
比如 第一个Y和第二个Y相差20 之内 就合并成一组,第三个Y和第一个Y相差20之内 也一起成一组。还有一个条件就是在page相同的情况下进行 Y值相差 合并成一组,具体 看newlist 数据信息;
Y值 10 15 20 30 是一组,150和160 则不属于,其他的照旧!
想要得到的数据
var newList = [
[
{ id: 1, name: '小明', type: '分类', y: 10, size:1 },
{ id: 2, name: '大明', type: '分钱', y: 10, size:1 },
{ id: 3, name: '中明', type: '分兵', y: 20, size:1 },
{ id: 4, name: '小明', type: '分分', y: 30, size:1 },
],
[{ id: 5, name: '雷明', type: '分兵', y: 40, size:2 },],
[{ id: 6, name: '小明', type: '分类', y: 90, size:2 },],
[{ id: 7, name: '小明', type: '分类', y: 150, size:3},],
[{ id: 8, name: '大明', type: '分钱', y: 160, size:4}],
[{ id: 9, name: '小明', type: '分类', y: 400, size:1 }],
[{ id: 10, name: '小明', type: '分类', y: 500, size:1 }],
]
刚好昨天刚答了类似的,直接复用