国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數組去重

Bmob / 1213人閱讀

摘要:方法一利用去重方法二利用嵌套,然后去重方法三利用去重方法四利用方法五利用方法六利用當前元素,在原始數組中的第一個索引當前索引值,否則返回當前元素方法七利用遞歸去重排序后更加方便去重遞歸,然后數組去重方法八利用數據結構去重數組

方法一:利用ES6 Set去重
function unique(arr){
    return Array.from(new set(arr))  
}
方法二:利用for嵌套for,然后splice去重
 function unique(arr){   
    for(var i=0;i
方法三、利用indexOf去重
  function unique(arr){   
        if(!Array.isArray(arr)){
            console.log("type error!")
            return false;
        }
        var array=[];
        for(var i=0;i
方法四、利用sort()
function unique(arr){   
    if(!Array.isArray(arr)){
        console.log("type error!")
        return false;
    }
    var array=[arr[0]];
    for(var i=1;i
方法五、利用includes
  function unique(arr){   
        if(!Array.isArray(arr)){
            console.log("type error!")
            return false;
        }
        var array=[];
        for(var i=0;i
方法六、利用filter
function unique(arr) {
  return arr.filter(function(item, index, arr) {
    //當前元素,在原始數組中的第一個索引==當前索引值,否則返回當前元素
    return arr.indexOf(item, 0) === index;
  });
}
方法七、利用遞歸去重
function unique(arr) {
    var array= arr;
    var len = array.length;

    array.sort(function(a,b){   //排序后更加方便去重
        return a - b;
    })

    function loop(index){
        if(index >= 1){
            if(array[index] === array[index-1]){
            array.splice(index,1);
            }
            loop(index - 1);    //遞歸loop,然后數組去重
        }
    }
    loop(len-1);
    return array;
}
方法八、利用Map數據結構去重
function arrayNonRepeatfy(arr) {
        let map = new Map();
        let array = new Array();  // 數組用于返回結果
        for (let i = 0; i < arr.length; i++) {
            if(map.has(arr[i])) {  // 如果有該key值
                map.set(arr[i], true);
            } else {
                map.set(arr[i], false);   // 如果沒有該key值
                array.push(arr[i]);
           }
       }
     return array ;
}
方法九、利用reduce+includes
function unique(arr){
    return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
}
方法十、[...new Set(arr)]
[...new Set(arr)]  //相對于第一種方法來說只是簡化了代碼

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106590.html

相關文章

  • JS數組去重總結

    摘要:數組去重,一般會在面試的時候才會碰到,要求手寫數組去重方法的代碼。在實際項目中碰到的數組去重,一般都是后臺去處理,很少讓前端處理數組去重。數組去重的方法一利用去重中最常用如果不考慮兼容性,這種去重的方法代碼最少。 數組去重,一般會在面試的時候才會碰到,要求手寫數組去重方法的代碼。如果是被提問到,數組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在實際項目中碰到的...

    whinc 評論0 收藏0
  • 跟underscore一起學數組去重

    摘要:引子數組去重是一個老生常談的話題,在面試中也經常會被問道。其中如果數組是排序的,去重運算效率更高,因為排序能夠將相同的數排列在一起,方便前后比較。當數組有序對于對象的去重,我們知道為,所以使用比較對象在實際場景中沒有意義。 引子 數組去重是一個老生常談的話題,在面試中也經常會被問道。對于去重,有兩種主流思想: 先排序,線性遍歷后去重,時間復雜度O(n*log2n); 使用哈希,空間換...

    flybywind 評論0 收藏0
  • JavaScript專題之數組去重

    摘要:專題系列第三篇,講解各種數組去重方法,并且跟著寫一個前言數組去重方法老生常談,既然是常談,我也來談談。它類似于數組,但是成員的值都是唯一的,沒有重復的值。 JavaScript 專題系列第三篇,講解各種數組去重方法,并且跟著 underscore 寫一個 unique API 前言 數組去重方法老生常談,既然是常談,我也來談談。 雙層循環 也許我們首先想到的是使用 indexOf 來循...

    fsmStudy 評論0 收藏0
  • JavaScript數組去重(12種方法,史上最全)

    摘要:數組去重,一般都是在面試的時候才會碰到,一般是要求手寫數組去重方法的代碼。如果是被提問到,數組去重的方法有哪些你能答出其中的種,面試官很有可能對你刮目相看。數組去重的方法一利用去重中最常用不考慮兼容性,這種去重的方法代碼最少。 數組去重,一般都是在面試的時候才會碰到,一般是要求手寫數組去重方法的代碼。如果是被提問到,數組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看...

    rozbo 評論0 收藏0
  • JavaScript數組方法之數組去重方法

    摘要:工作過程中經常會用到數組去重,用到的時候往往一時想不到好方法,所以這里來總結一下去重方法。和方法分別為添加成員方法和得到鍵值方法。因此,利用方法也可以實現數組的去重。 工作過程中經常會用到數組去重,用到的時候往往一時想不到好方法,所以這里來總結一下去重方法。使用es6去重代碼很簡單,而且ES6已經相當普及了。所以先來介紹一下es6中的方法。 1.ES6中Map結構方法 function...

    CarlBenjamin 評論0 收藏0

發表評論

0條評論

Bmob

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<