成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JS基于對(duì)象的特性實(shí)現(xiàn)去除數(shù)組中重復(fù)項(xiàng)功能詳解

本文實(shí)例講述了JS基于對(duì)象的特性實(shí)現(xiàn)去除數(shù)組中重復(fù)項(xiàng)功能。分享給大家供大家參考,具體如下:

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),鎮(zhèn)雄企業(yè)網(wǎng)站建設(shè),鎮(zhèn)雄品牌網(wǎng)站建設(shè),網(wǎng)站定制,鎮(zhèn)雄網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鎮(zhèn)雄網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

數(shù)組去重的方法有很多,不同的方法的效率也不相同。如前面文章JS實(shí)現(xiàn)的數(shù)組去除重復(fù)數(shù)據(jù)算法小結(jié)中就總結(jié)分析了4種實(shí)現(xiàn)方法。這里介紹一種高效數(shù)組去重的方法:根據(jù)JS對(duì)象的特性去除數(shù)組中重復(fù)項(xiàng)的方法。

一、JS對(duì)象的特性(本文中所使用的特性):key始終唯一

引例:說明對(duì)象key值的唯一性,即當(dāng)重新給js已有屬性賦值的時(shí)候,實(shí)際上是覆蓋了key,而不是新建了key

var t={name:'張三',age:20};//定義個(gè)js對(duì)象
console.log(t.name);//控制臺(tái)輸出:張三
//注意:此時(shí)對(duì)象t有兩個(gè)屬性:name、age
t.name='李四';
console.log(t.name);//控制臺(tái)輸出:李四
//注意:此時(shí)對(duì)象t依然有兩個(gè)屬性:name、age

二、數(shù)組去重步驟解析

分為兩個(gè)步驟:

1. 把要去重的數(shù)組轉(zhuǎn)換成一個(gè)js的對(duì)象并返回。轉(zhuǎn)換規(guī)則:把數(shù)組中的值變成js對(duì)象當(dāng)中的key,然后value給任意值;

2. 把步驟1中的對(duì)象再還原成數(shù)組,對(duì)象的key作為數(shù)組中的元素。

三、數(shù)組去重實(shí)現(xiàn)

var arr=[1,2,3,4,5,23,4,2,4,3];
//1.把數(shù)組裝換成對(duì)象,數(shù)組的元素作為對(duì)象的key,然后返回對(duì)象
function toObject(ac_array){
    var obj={};//私有的對(duì)象
    for (var i=0;i<ac_array.length;i++) {
      obj[ac_array[i]] = true;
    }
    console.log(obj);//Object {1: true, 2: true, 3: true, 4: true, 5: true, 23: true}
    return obj;
}
//2.把對(duì)象的key獲取出來作為數(shù)組的元素,然后返回?cái)?shù)組
function keys(ac_obj){
    var arr = [];
    for(var item in ac_obj){
      if(ac_obj.hasOwnProperty(item)){
        arr.push(item);
      }
    }
    console.log(arr);//["1", "2", "3", "4", "5", "23"]
    return arr;
}
//綜合
function uniq(ac_array){
    return keys(toObject(ac_array));
}
//測試
var uniq_array=uniq(arr);
console.log(uniq_array);//["1", "2", "3", "4", "5", "23"]

代碼測試結(jié)果:

JS基于對(duì)象的特性實(shí)現(xiàn)去除數(shù)組中重復(fù)項(xiàng)功能詳解

這種利用js對(duì)象key唯一性的特性進(jìn)行數(shù)組去重的方法,在雅虎YUI框架的底層代碼中也有用到哦,有興趣的小火把可以去瞄瞄哦。

PS:這里再為大家提供幾款去重復(fù)工具供大家參考使用:

在線去除重復(fù)項(xiàng)工具:
http://tools.jb51.net/code/quchong

在線文本去重復(fù)工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

網(wǎng)頁名稱:JS基于對(duì)象的特性實(shí)現(xiàn)去除數(shù)組中重復(fù)項(xiàng)功能詳解
本文網(wǎng)址:http://jinyejixie.com/article46/gdpdhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)頁設(shè)計(jì)公司、品牌網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
喀喇| 遂川县| 南陵县| 建始县| 蓬安县| 沅江市| 垦利县| 沁水县| 茂名市| 商城县| 平山县| 油尖旺区| 龙川县| 奉贤区| 镇安县| 正蓝旗| 无棣县| 新晃| 三门县| 镇平县| 澄江县| 赤城县| 永修县| 昌邑市| 洪雅县| 大悟县| 临湘市| 周口市| 海伦市| 梨树县| 库车县| 嘉峪关市| 寻甸| 永登县| 乃东县| 松阳县| 尼玛县| 齐河县| 唐海县| 绥阳县| 额尔古纳市|