成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

1.判斷兩個數(shù)組是否“相等”2.取兩個數(shù)組的交并差集

ispring / 1620人閱讀

Set是ES6種新增的數(shù)據(jù)結(jié)構(gòu),有點(diǎn)類似與數(shù)組,但它的成員的值都是唯一的

1.取兩個數(shù)組的交并差集

var a = [1,2,3,4];
var b = [3,4,5,6];

var set1 = new Set([...a,...b]);
var set2 = new Set(a.filter((item)=>{
    return b.indexOf(item) > -1
}));
var set3 = new Set(a.filter((item)=>{
    return b.indexOf(item) == -1
}))
console.log("并集:",set1);//Set{1,2,3,4,5,6}
console.log("交集:",set2);//Set{3,4}
console.log("差集:",set3);//Set{1,2}

2.判斷兩個數(shù)組是否“相等”

有兩種方法

1 JSON.stringify()

 var a = ["1",2];
 var b = [1,2];
 console.log(JSON.stringify(a));//["1",2]
 console.log(JSON.stringify(b));//[1,2]
 console.log(JSON.stringify(a) == JSON.stringify(b));//false

2 不允使用JSON.stringify時

   Array.prototype.equals = function (arr) {
        if (!arr)
            return false;
        if (this.length != arr.length)
            return false;
        for (var i = 0, l = this.length; i < l; i++) {
            if (Array.isArray(this[i]) && Array.isArray(arr[i])) {
                this[i].equals(arr[i]);
            } 
            //else if(Object.prototype.toString.call(this[i])==="[object Object]" && Object.prototype.toString.call(arr[i])==="[object Object]") {
            //考慮到數(shù)組中包含對象,調(diào)用判斷對象是否"相等"的方法,此方法不考慮數(shù)組中有對象的情況
            //}
            else {
                // console.log(this[i]);
                // console.log(arr[i]);
               if(this[i]!=arr[i]){
                   return false;
               }
            }
        }
        return true;
    }

注意 不要用 X.toString();

 var a = ["1",2];
 var b = [1,2];
 console.log(a.toString());//1,2
 console.log(b.toString());//1,2
 console.log(a.toString() == b.toString());//true

轉(zhuǎn)換成字符串后,導(dǎo)致字符串"1"和數(shù)字1相等。

微信公眾號:前端實(shí)習(xí)日記

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/94674.html

相關(guān)文章

  • 關(guān)于數(shù)組array_diff(array1, array2)求差集來比較數(shù)組是否相等的問題細(xì)究

    摘要:無意中發(fā)現(xiàn)很多朋友都喜歡使用來判斷兩個數(shù)組是否相等,我自己也偶爾會這么使用但是今天我在寫代碼的過程中無意發(fā)現(xiàn)這么做是不準(zhǔn)確的。 無意中發(fā)現(xiàn)很多朋友都喜歡使用array_diff(array1, array2)來判斷兩個數(shù)組是否相等, 我自己也偶爾會這么使用 但是今天我在寫代碼的過程中無意發(fā)現(xiàn)這么做是不準(zhǔn)確的。 首先我們來看一下這個函數(shù)的釋義(PHP Manual): 對比 array1...

    CodeSheep 評論0 收藏0
  • 每日 30 秒 ? 兩個數(shù)組中的差集

    簡介 數(shù)組、差集、函數(shù) 根據(jù)給出的函數(shù)找出兩個數(shù)組中的差集。 const differenceBy = (a, b, fn) => { const s = new Set(b.map(fn)); return a.filter(el => !s.has(fn(el))); }; 代碼分析 這段代碼使用了ES2015中定義的 Set 對象。Set 對象的值的特點(diǎn)是不含有重復(fù)的值,這個特性可以...

    JerryC 評論0 收藏0
  • 兩個數(shù)組 之間 差集,交集,并集

    摘要:數(shù)組判斷是否含有某個元素數(shù)組去重交集差集并集數(shù)組數(shù)組交集是差集是并集是臨時寫,有問題可以交流,對于其他的余集補(bǔ)集合集懶得區(qū)分了上面三種挺常用的,僅供參考。 Document //數(shù)組判斷是否含有某個元素 Array.prototype.contains = function (obj) { ...

    joyqi 評論0 收藏0
  • JS數(shù)據(jù)結(jié)構(gòu)與算法_集合&字典

    摘要:上一篇數(shù)據(jù)結(jié)構(gòu)與算法鏈表寫在前面說明數(shù)據(jù)結(jié)構(gòu)與算法系列文章的代碼和示例均可在此找到一集合集合數(shù)據(jù)結(jié)構(gòu)集合是一種包含不同元素的數(shù)據(jù)結(jié)構(gòu)。集合中的元素成為成員。 上一篇:JS數(shù)據(jù)結(jié)構(gòu)與算法_鏈表 寫在前面 說明:JS數(shù)據(jù)結(jié)構(gòu)與算法 系列文章的代碼和示例均可在此找到 一、集合Set 1.1 集合數(shù)據(jù)結(jié)構(gòu) 集合set是一種包含不同元素的數(shù)據(jù)結(jié)構(gòu)。集合中的元素成為成員。集合的兩個最重要特性是:...

    sf_wangchong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<