How to remove repeated entries from an array while preserving non-consecutive duplicates?

前端 未结 5 1913
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-06 19:35

I have an array like var arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4, 5, 5, 5]; I really want the output to be [5,2,9,4,5]. My logic for this was:

5条回答
  •  太阳男子
    2020-12-06 19:38

    if you are looking purely by algorithm without using any function

    var arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4, 5, 5, 5];
    
        function identical(array){
    
            var newArray = [];
            newArray.push(array[0]);
            for(var i = 0; i < array.length -1; i++) {
                if(array[i] != array[i + 1]) {
                    newArray.push(array[i + 1]);
                }
            }
            console.log(newArray);
        }
        identical(arr);
    

    Fiddle;

提交回复
热议问题