今天寫代碼涉及到一個功能,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開始再重複以上的步驟,
如果不存在相同的項,則將此項保存,然後進入下一波循環。