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

資訊專欄INFORMATION COLUMN

Javascript中數(shù)組去重的六種方法

CodeSheep / 904人閱讀

摘要:數(shù)組去重第一種方法先對(duì)數(shù)組進(jìn)行排序,排好序,然后把數(shù)組的當(dāng)前項(xiàng)和后一項(xiàng)進(jìn)行比較,相同則使用數(shù)組的相同的位置,,但是為了防止數(shù)組塌陷,每次刪除數(shù)組元素的時(shí)候要把的值減一。

數(shù)組去重

第一種方法:

先對(duì)數(shù)組進(jìn)行排序sort(),排好序,然后把數(shù)組的當(dāng)前項(xiàng)和后一項(xiàng)進(jìn)行比較,相同則使用數(shù)組的splice(相同的位置,1),但是為了防止數(shù)組塌陷,每次刪除數(shù)組元素的時(shí)候要把i的值減一。

        
        var ary=[1,23,4,2,33,1,2,44,3,2,3]
        ary.sort(function(a,b){
        return a-b;
        });//返回的是排好序的數(shù)組
    for(var i=0;i

第二種方法是:建立一個(gè)新數(shù)組,要是原數(shù)組里面的數(shù)是頭一次出現(xiàn)(使用數(shù)組的indexOf()),那么就把這個(gè)數(shù)放到新數(shù)組里面,否者就拋棄這個(gè)數(shù),類似于前面說的隨機(jī)驗(yàn)證碼

var ary=[1,23,4,2,33,1,2,44,3,2,3]

var arr2=[];
for(var i=0;i

第三種方法:直接拿當(dāng)前項(xiàng)與后一項(xiàng)進(jìn)行比較,相同的要?jiǎng)h除,使用數(shù)組splice()進(jìn)行刪除,這里也要防止數(shù)組塌陷;

var ary=[1,23,4,2,33,1,2,44,3,2,3]
for(var i=0;i

第四種方法:利用對(duì)象不重名的特性,對(duì)象的存儲(chǔ)是鍵值對(duì)方式,要獲取屬性值,要通過對(duì)象./[]屬性來獲取;相同則刪除,也要防止數(shù)組塌陷

var ary=[1,23,4,2,33,1,2,44,3,2,3]
//新建一個(gè)對(duì)象
var obj={};
for(var i=0;i

第五種方法:也是利用對(duì)象不重名的方法,但是這次是直接計(jì)算其數(shù)組各個(gè)數(shù)的重復(fù)次數(shù),

var ary=[1,23,4,2,33,1,2,44,3,2,3]
var obj={};
for(var i=0;i

第六種方法:使用ES6中的Set數(shù)據(jù)結(jié)構(gòu)中重復(fù)項(xiàng)不生效的特性

let arr = [1,2,3,3,2,4,5];

let list = new Set(arr);

console.log("list",list);  // 1,2,3,4,5

但是對(duì)于數(shù)據(jù)的數(shù)據(jù)類型是不會(huì)進(jìn)行轉(zhuǎn)換的,所以一定要注意元素的數(shù)據(jù)類型是否是一致

數(shù)組去重的面試題:

找出這次考試中,最高分,及最高分出現(xiàn)的次數(shù)

//思路:全部人的成績是一個(gè)數(shù)組,這就相當(dāng)于使用數(shù)組去重的方法,找到最高的分?jǐn)?shù),和其次數(shù),首先找到了去重的數(shù)組進(jìn)行從小到大的排序,得到次數(shù),然后通過最高分所對(duì)應(yīng)的索引值得到出現(xiàn)的最高分

var ary = [1, 23, 4, 2, 33, 1, 2, 44, 3, 2, 3];
            var obj = {};
            for(var i = 0; i < ary.length; i++) {
                //把數(shù)組的值,當(dāng)作對(duì)象的索引賦值給對(duì)象,所以通過對(duì)象索引獲取的是數(shù)組出現(xiàn)的次數(shù)
                var cur = ary[i];
                if(obj[cur]) {
                    //每次重復(fù)一次,其對(duì)應(yīng)的值加一
                    obj[cur]++;
                } else {
                    //說明沒有重復(fù),個(gè)數(shù)只有一個(gè)
                    obj[cur] = 1;
                }
            }
            //分?jǐn)?shù)從低到高出現(xiàn)的次數(shù)
            console.log(obj);
            
            var ary2 = [];
            //對(duì)于對(duì)象使用in 方法進(jìn)行遍歷,遍歷獲取的是屬性值
            for(var attr in obj) {
                ary2.push(Number(attr));
            }
            
            console.log(ary2);
            //最高分
            console.log(ary2[ary2.length-1]);
            var count=ary2[ary2.length-1];
            //最高分出現(xiàn)的次數(shù)
            console.log(obj[count]);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/89563.html

相關(guān)文章

  • 區(qū)別對(duì)象和數(shù)組六種方法

    摘要:區(qū)別對(duì)象和數(shù)組的六種方法方法一利用方法通過調(diào)用方法試著將該變量轉(zhuǎn)化為代表其類型的。該方法對(duì)于真正的可行參數(shù)對(duì)象轉(zhuǎn)化為時(shí)返回會(huì)轉(zhuǎn)化失敗此外,對(duì)于含有數(shù)字長度屬性的類也會(huì)轉(zhuǎn)化失敗。 區(qū)別對(duì)象和數(shù)組的六種方法(1)方法一:利用toString方法通過調(diào)用toString( )方法試著將該變量轉(zhuǎn)化為代表其類型的string。該方法對(duì)于真正的array可行;參數(shù)對(duì)象轉(zhuǎn)化為string時(shí)返回[ob...

    senntyou 評(píng)論0 收藏0
  • JavaScript專題之數(shù)組去重

    摘要:專題系列第三篇,講解各種數(shù)組去重方法,并且跟著寫一個(gè)前言數(shù)組去重方法老生常談,既然是常談,我也來談?wù)劇K愃朴跀?shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 JavaScript 專題系列第三篇,講解各種數(shù)組去重方法,并且跟著 underscore 寫一個(gè) unique API 前言 數(shù)組去重方法老生常談,既然是常談,我也來談?wù)劇?雙層循環(huán) 也許我們首先想到的是使用 indexOf 來循...

    fsmStudy 評(píng)論0 收藏0
  • JavaScript數(shù)組重的總結(jié)

    摘要:數(shù)組去重方法的總結(jié)前言在中數(shù)組是比較常用的,本文中總結(jié)了下數(shù)組去重的幾種常用方法,如有問題,請(qǐng)指正。 JavaScript數(shù)組去重方法的總結(jié) 前言 在JavaScript中數(shù)組是比較常用的,本文中總結(jié)了下數(shù)組去重的幾種常用方法,如有問題,請(qǐng)指正。 簡單粗暴的一種,ES6中set方法: var arr = [1,2,2,3,3,4,5,5]; console.log([...new Se...

    Tonny 評(píng)論0 收藏0
  • JS判斷數(shù)組六種方法詳解

    摘要:對(duì)象構(gòu)造函數(shù)的判斷用法的每個(gè)實(shí)例都有構(gòu)造函數(shù),用于保存著用于創(chuàng)建當(dāng)前對(duì)象的函數(shù)如上所示,的實(shí)例的跟對(duì)象是相等的那么我們就可以用此來判斷數(shù)組了原型鏈上的用法屬性表示構(gòu)造函數(shù)的原型其中有一個(gè)方法是用于測試一個(gè)對(duì)象是否存在于另一個(gè)對(duì)象的原型鏈上。 在JS中,數(shù)組是屬于Object類型的,也就是屬于引用類型(引用類型存放在堆內(nèi)存中,在棧內(nèi)存會(huì)有一個(gè)或者多個(gè)地址來指向這個(gè)堆內(nèi)存)。 所以對(duì)于引用...

    xiaoxiaozi 評(píng)論0 收藏0
  • <javaScript> 數(shù)組重的方法總結(jié)(2017年)

    摘要:現(xiàn)在要求去重下面這個(gè)數(shù)組測試重復(fù)重復(fù)方法一測試重復(fù)重復(fù)去重后測試重復(fù)是新加的集合集合中的值不會(huì)重復(fù)。歡迎大家一起討論提出新的去重方法。有任何錯(cuò)誤請(qǐng)?jiān)谠u(píng)論指出。 現(xiàn)在要求去重下面這個(gè)數(shù)組 [1, 2, 3, 3, 3, 0, 1, 2, 測試, 重復(fù), 重復(fù), NaN, NaN, false, false]; 方法一:ES6 Set() let arr = [1, 2, 3, 3, 3,...

    hightopo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<