牛客網前端編程:找出數組 arr 中重復出現過的元素


//方法一:利用索引判斷是否重復(使用了兩次)
        function duplicates(arr) {
            var arr1 = [];
            arr.forEach(function (ele) {
                //判斷原數組是否有重復數據
                //判斷結果數組是否已經具有該數據
                if (arr.indexOf(ele) != arr.lastIndexOf(ele) && arr1.indexOf(ele) == -1){
                    arr1.push(ele);
                }
            });
            return arr1;
        }
     //方法二:先判斷數組中元素出現的次數,如果大於1並且結果數組之前無此元素,則將這個元素放到結果數組中
        function dup(arr) {
            var b = [];
            var result = [];
            for (var i= 0; i<arr.length; i++){
                 b[i] = arr.reduce(function (init,curr) {
                    //如果當前置等於item,該函數值加一
                    return curr === arr[i] ? init+1:init;
                },0)
                if (b[i] > 1 && result.indexOf(arr[i]) === -1){
                    result.push(arr[i]);
                }
            }
            return result;
        }
    //方法三:先進行排序,然后判斷排序之后的前一個數據是否等於后一個數據,如果是且結果數組沒有這個元素,則將該元素加入結果數組
        function duplicates1(arr) {
            var a = arr.sort();
            var result = [];
            for (var i = 0;i<arr.length; i++){
                if (arr[i]===arr[i+1] && result.indexOf(arr[i]) == -1){
                    result.push(arr[i]);
                }
            }
            return result;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM