今天写代码涉及到一个功能,JS获取后台数据以后,作品和作品之间的标签有重复的,就需要用JS把数组中的重复项去掉。
看了许多方法,最后看到一个方法,真是非常聪明。
先发一下代码,然后教大家如何看思路。
function repeat_jump(array){
var r = [];
for(var i = 0, l = array.length; i < l; i++) {
for(var j = i + 1; j < l; j++)
if (array[i] === array[j]) j = ++i;
r.push(array[i]);
}
return r;
}
其实思路很简单
从index=0开始对比之后的值
如果在index=0之后存在与index=0的值相同的项,则越过index=0,
从index1开始再重复以上的步骤,
如果不存在相同的项,则将此项保存,然后进入下一波循环。