87,904
社区成员
发帖
与我相关
我的任务
分享
// 处理这样一组数据
data: [
{interval: 100, score: 1},
{interval: 95, score: 0},
{interval: 90, score: 0},
{interval: 85, score: 0},
{interval: 80, score: 1},
{interval: 75, score: 0},
{interval: 70, score: 0},
{interval: 65, score: 0},
{interval: 60, score: 1},
{interval: 55, score: 0},
{interval: 50, score: 1},
{interval: 45, score: 1}
]
// 中间相邻 score 为 0 的长度如果≥3,就把他合并
data: [
{interval: 100, score: 1},
{interval: 95~85, score: 0},
{interval: 80, score: 1},
{interval: 75~65, score: 0},
{interval: 60, score: 1},
{interval: 55, score: 0},
{interval: 50, score: 1},
{interval: 45, score: 1}
]
var data = [
{interval: 100, score: 1},
{interval: 95, score: 0},
{interval: 90, score: 0},
{interval: 85, score: 0},
{interval: 80, score: 1},
{interval: 75, score: 0},
{interval: 70, score: 0},
{interval: 65, score: 0},
{interval: 60, score: 1},
{interval: 55, score: 0},
{interval: 50, score: 1},
{interval: 45, score: 1}
];
var index = data.length-1;
for (var i = data.length-1; i >= 0; i--) {
if (i==0 || data[i-1].score != data[index].score) {
var n = index-i+1;
if (n >= 3)
data.splice(i, n, {interval: data[i].interval+"~"+data[index].interval, score: data[index].score});
index = i-1;
}
}
console.table(data);