今天小編給大家分享一下javascript如何判斷兩個(gè)數(shù)組是否有重復(fù)的元素的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、做網(wǎng)站、清水河網(wǎng)絡(luò)推廣、微信小程序、清水河網(wǎng)絡(luò)營銷、清水河企業(yè)策劃、清水河品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供清水河建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
判斷步驟:1、用“new Set(數(shù)組)”語句將兩個(gè)數(shù)組都轉(zhuǎn)換為set集合類型;2、用“new Set([...集合1].filter(x => 集合2.has(x)))”語句獲取兩個(gè)集合的交集,會(huì)返回一個(gè)包含全部交集元素的新集合;3、用“Array.from(交集集合)”語句將集合轉(zhuǎn)為數(shù)組類型;4、用“交集數(shù)組==[]”語句判斷交集數(shù)組是否為空數(shù)組,若是則兩個(gè)數(shù)組沒重復(fù)元素。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
判斷兩個(gè)數(shù)組是否有重復(fù)的元素,換個(gè)說法,就是判斷兩個(gè)數(shù)組是否有交集。
在javascript中,可以利用set對象的has()方法配合數(shù)組的filter()來進(jìn)行判斷。
實(shí)現(xiàn)步驟:
步驟1:將兩個(gè)數(shù)組都轉(zhuǎn)換為set集合類型
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b);
步驟2:利用has()和filter()函數(shù)獲取兩個(gè)集合的交集
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b); let intersectionSet = new Set([...newA].filter(x => newB.has(x))); console.log(intersectionSet);
可以看出此時(shí),交集元素被包含在一個(gè)set集合中返回。
步驟3:利用Array.from方法將集合轉(zhuǎn)為數(shù)組類型
Array.from方法用于將兩類對象轉(zhuǎn)為真正的數(shù)組:類似數(shù)組的對象(array-like object)和可遍歷(iterable)的對象(包括 ES6 新增的數(shù)據(jù)結(jié)構(gòu) Set 和 Map)。
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b); let intersectionSet = new Set([...newA].filter(x => newB.has(x))); console.log(intersectionSet); let arr = Array.from(intersectionSet); console.log(arr);
步驟4:判斷交集數(shù)組是否為空數(shù)組
是空數(shù)組,則兩個(gè)數(shù)組沒有重復(fù)元素
不是空數(shù)組,則兩個(gè)數(shù)組有重復(fù)元素
if(arr==[]){ console.log("兩個(gè)數(shù)組沒有重復(fù)元素"); }else{ console.log("兩個(gè)數(shù)組有重復(fù)元素"); }
以上就是“javascript如何判斷兩個(gè)數(shù)組是否有重復(fù)的元素”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。