過濾後端返回的陣列每條連續重複一遍問題

2021-08-02 16:10:32 字數 716 閱讀 1174

剛碰到問題以及解決辦法的思路:

後端返回的陣列變成類似[,,,,,.....]每條資料後面都跟前面一條一模一樣。

現在我們要過濾掉每重複的資料只留一條。結果:[,,....]

$scope.filterrepeatarray = function

(datas)

for (var i = 1; i < datas.length; i++)

}return

$scope.changerefresh(data);

}

datas引數是傳進來有問題的陣列。前提我們要先判斷這個資料是否有值,然後才進這個方法。我們預設把第乙個陣列push到空的新陣列中,然後再通過for遍歷,定義初始遍歷開始的下標是1。

然後再判斷當前遍歷的下標物件跟前乙個下標陣列物件比較裡面的值是否相等,如果不相等說明是沒重複的。然後繼續push到新陣列中。

在這裡有個要注意的地方:相比較的兩個陣列一定是當前遍歷的下標物件跟之前的下標物件(i-1)。不能跟後面乙個(i+1)下標物件對比。因為後面乙個我們不能確定是否還有資料,陣列也不允許我們提前比較還沒遍歷到的下標物件。

這樣做可能有些硬編碼。主要記住一點:當前遍歷的下標只能跟已遍歷過的比較。這樣就算不是連續重複的,這要把當前遍歷的下標物件跟新陣列for遍歷的每個物件比較就可以解決了。

如果有更好的解決辦法歡迎共享。

返回陣列中不重複的元素

這是實現結構偽類only of type的部分 var ret span span strong span b var norepeat function array else return set.replace g,split alert norepeat ret 最後返回b,strongvar...

javascript 返回陣列中不重複的元素

返回陣列中不重複的元素的js實現 這是實現結構偽類type of type的部分 覺得效果不高,向無憂高手求救。下面是客服果果的 好強大的正則替換啊 abcdreamer 的實現 此實現能過濾非純字串陣列裡的重複,我比較喜歡 哪位高手有更好的實現,請告訴我一聲!看來有些人不明白norepeat函式與...

2 返回無序陣列中連續元素的長度

給定乙個無序陣列,返回連續的元素中最長的長度,比如陣列a 7,6,8,1,2,2,5 返回4,並且要求複雜度為o n 這個時候如果不考慮複雜度,那麼就很好解決了,先排序再求長度,考慮到複雜度,就不能排序了,可以使用雜湊表 來幫助我們完成這個運算,如下 public static int getcon...