javascript 數組去重,javascript數組

來源:互聯網
上載者:User

javascript 數組去重,javascript數組

//去除數字元素數組function sortnum(a, b) {return a - b;}Array.prototype.unique1 = function() {this.sort(sortnum);var newnumbers = [this[0]];for (var i = 0; i < this.length; i++) {if (this[i] != newnumbers[newnumbers.length - 1]) {newnumbers.push(this[i]);}};return newnumbers;};var mynums = [1, 2, 5, 8, 2, 5, 7, 42, 8, 0];mynums = mynums.unique1();console.log(mynums);//利用json對象 可以取出非數字元素Array.prototype.jsonUnique = function() {var json = {};for (var i = 0; i < this.length; i++) {if(!json[this[i]]){json[this[i]] = 1;}};return json;};var mynumss = [1,2,54,1,43,54,'哈哈','哈哈','我們','為什麼','為什麼'];mynumss = mynumss.jsonUnique();for(var key in mynumss){console.log(key);}


javascript數組去重不理解

arr是要去重的數組,ret是去重後得到的新數組,hash相當於一個Map,用來記錄某個元素在ret中是否已經存在了。
程式遍曆arr,以每個元素的類型+這個元素作為Map的key,如果hash中已經有這個key了,那麼就不把該元素加到ret中,如果沒有那就加到ret中,同時把這個新key加到hash中。

if (hash[key] !== 1)實際上就是判斷當前元素是否出現過
 
javascript 數組去重,要對無論多複雜的數組都有效,寫上詳細注釋,答案滿意的再加50分

JS的對象Object的屬性本身就具有唯一性。利用好就行。
所列資料中country的多行輸入只有一行是有效。

而city中的唯一性不明,需要另外對待,但可以以name處理,也可以以value處理,
需要指定一個。就是給出你理想的處理後結果作為範例,好進一步實現。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.