這篇文章主要介紹了JS如何實現(xiàn)的Object數(shù)組去重功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)專注于平谷網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供平谷營銷型網(wǎng)站建設(shè),平谷網(wǎng)站制作、平谷網(wǎng)頁設(shè)計、平谷網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造平谷網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供平谷網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
1、能夠嵌入動態(tài)文本于HTML頁面。2、對瀏覽器事件做出響應(yīng)。3、讀寫HTML元素。4、在數(shù)據(jù)被提交到服務(wù)器之前驗證數(shù)據(jù)。5、檢測訪客的瀏覽器信息。6、控制cookies,包括創(chuàng)建和修改等。7、基于Node.js技術(shù)進行服務(wù)器端編程。
本文實例講述了JS實現(xiàn)的Object數(shù)組去重功能。分享給具體如下:
目標(biāo):實現(xiàn)成員為 Object 的數(shù)組的去重。
注意,這里的數(shù)組成員為 Object,而不是數(shù)值或者字符串。
調(diào)用方法:
arr = distinct_arr_element(arr);
函數(shù):
/* * 在數(shù)組中去除重復(fù)項() */ var distinct_arr_element = function( arr ){ if( !arr ) return null ; var resultArr = []; $(arr).each( function( index, el ){ var notExist = true ; $(resultArr).each( function(i,element){ if( isObjectValueEqual( el, element ) ){ notExist = false ; return false ; } }); if( notExist ) resultArr.push( el ); }); return resultArr ; } /* * 判斷兩個 Object 的值是否相等 */ function isObjectValueEqual(a, b) { // Of course, we can do it use for in Create arrays of property names var aProps = Object.getOwnPropertyNames(a); var bProps = Object.getOwnPropertyNames(b); // If number of properties is different, objects are not equivalent if (aProps.length != bProps.length) { return false; } for ( var i = 0; i < aProps.length; i++ ) { var propName = aProps[i]; // If values of same property are not equal, objects are not equivalent if (a[propName] !== b[propName]) { return false; } } // If we made it this far, objects are considered equivalent return true; }
完整測試示例如下:
<script src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script> <script> /* * 在數(shù)組中去除重復(fù)項() */ var distinct_arr_element = function( arr ){ if( !arr ) return null ; var resultArr = []; $(arr).each( function( index, el ){ var notExist = true ; $(resultArr).each( function(i,element){ if( isObjectValueEqual( el, element ) ){ notExist = false ; return false ; } }); if( notExist ) resultArr.push( el ); }); return resultArr ; } /* * 判斷兩個 Object 的值是否相等 */ function isObjectValueEqual(a, b) { // Of course, we can do it use for in Create arrays of property names var aProps = Object.getOwnPropertyNames(a); var bProps = Object.getOwnPropertyNames(b); // If number of properties is different, objects are not equivalent if (aProps.length != bProps.length) { return false; } for ( var i = 0; i < aProps.length; i++ ) { var propName = aProps[i]; // If values of same property are not equal, objects are not equivalent if (a[propName] !== b[propName]) { return false; } } // If we made it this far, objects are considered equivalent return true; } var arrDemo=[{'name':'jb51.net'},{'name':'jb51.net'},{'age':10},{'age':12}]; console.log(distinct_arr_element(arrDemo)) </script>
使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結(jié)果:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“JS如何實現(xiàn)的Object數(shù)組去重功能”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
當(dāng)前文章:JS如何實現(xiàn)的Object數(shù)組去重功能
鏈接分享:http://jinyejixie.com/article16/gpgdgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、移動網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)