去掉數組中重複項之越過重複值法

今天寫代碼涉及到一個功能,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開始再重複以上的步驟,

如果不存在相同的項,則將此項保存,然後進入下一波循環。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章