最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript檢測兩個數(shù)組是否相似

 更新時間:2015年05月19日 08:43:06   投稿:hebedich  
Javascript不能直接用==或者===來判斷兩個數(shù)組是否相等,無論是相等還是全等都不行,要判斷JS中的兩個數(shù)組是否相同,需要先將數(shù)組轉換為字符串,再作比較。

JS要比較兩個數(shù)組是否有相同的元素,即兩個數(shù)組所有元素都相同,但元素的順序不一定一致。只就需要先將數(shù)組進行排序,再比較兩個數(shù)組是否相等。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>js 檢測兩個數(shù)組是否相似</title>
</head>
<body>
  <script>
    //數(shù)組中的成員類型相同,順序可以不同。例如[1, true] 與 [false, 2]是相似的。
     //數(shù)組的長度一致。
    //類型的判斷范圍,需要區(qū)分:String, Boolean, Number, undefined, null, 函數(shù),日期, window.
    function arraysSimilar(arr1, arr2){
      //判斷邊界
      if (!(arr1 instanceof Array) || !(arr2 instanceof Array)) {
        return false;
      }

      //判斷長度
      if (arr1.length != arr2.length) return false;

      var i = 0, n = arr1.length, countMap1 = {}, countMap2 = {}, t1, t2, TYPES = ['string', 'boolean', 'number', 'undefined', null, 'function', 'date', 'window'];

      for ( ; i < n; i++) {
        t1 = typeOf(arr1[i]);
        t2 = typeOf(arr2[i]);
        if (countMap1[t1]) {
          countMap1[t1] ++;
        }else{
          countMap1[t1] = 1;
        }
        if (countMap2[t2]) {
          countMap2[t2] ++;
        }else{
          countMap2[t2] = 1;
        }
      }

      function typeOf(ele){
        var r;
        if (ele === null) r = 'null';
        else if(ele instanceof Array) r = 'array';
        else if(ele === window) r = 'window';
        else if(ele instanceof Date) r = 'date';
        else r = typeof ele;
        return r;

      }

      for (i = 0; i < TYPES.length; i++) {
        if (countMap1[TYPES[i]] != countMap2[TYPES[i]]) return false;
      }

      return true;
    }

    document.write(arraysSimilar([1,true], [false, 2]));
  </script>
</body>
</html>

以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關文章

  • js 幻燈片的實現(xiàn)

    js 幻燈片的實現(xiàn)

    今天在群里看到有人要幻燈片的代碼,于是我自己也想了想,做個總結。常見的幻燈片切換無非就是輪播和漸變,不管哪種都是用定時器來逐步改變圖片或者圖片組的某種屬性來實現(xiàn)的
    2011-12-12
  • 淺析BootStrap中Modal(模態(tài)框)使用心得

    淺析BootStrap中Modal(模態(tài)框)使用心得

    Bootstrap Modals(模態(tài)框)是使用定制的 Jquery 插件創(chuàng)建的。本文給大家分享BootStrap中Modal(模態(tài)框)使用心得,一起看看吧
    2016-12-12
  • javascript 實現(xiàn)的類似hao123的多郵箱登錄效果

    javascript 實現(xiàn)的類似hao123的多郵箱登錄效果

    javascript 實現(xiàn)的類似hao123的多郵箱登錄效果...
    2007-08-08
  • 微信小程序ibeacon三點定位詳解

    微信小程序ibeacon三點定位詳解

    這篇文章主要為大家詳細介紹了微信小程序ibeacon三點定位的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 如何防止JavaScript中的正則表達式回溯

    如何防止JavaScript中的正則表達式回溯

    某些正則表達式模式可能容易受到回溯的影響,這可能會導致超線性運行時,并可能導致DoS攻擊,本文就來介紹一下如何防止JavaScript中的正則表達式回溯,感興趣的可以了解一下
    2023-08-08
  • 微信小程序開發(fā)之實現(xiàn)心情記事本

    微信小程序開發(fā)之實現(xiàn)心情記事本

    這篇文章主要為大家詳細介紹了如何通過微信小程序開發(fā)一個簡單的心情記事本,文中的示例代碼講解詳細,感興趣的小伙伴可以和小編一起學習一下
    2023-01-01
  • JS字符串截取函數(shù)實例

    JS字符串截取函數(shù)實例

    這篇文章主要介紹了JS字符串截取函數(shù)實例,有需要的朋友可以參考一下
    2013-12-12
  • 前端解析包含圖片的excel文件完整步驟及代碼示例

    前端解析包含圖片的excel文件完整步驟及代碼示例

    作為一名開發(fā)者,大家在開發(fā)過程中是不是經常遇到各種各樣的文件,比如xlsx、word、ppt等辦公類型的文件格式,這篇文章主要給大家介紹了關于前端解析包含圖片的excel文件的相關資料,需要的朋友可以參考下
    2024-07-07
  • Javascript Memoizer淺析

    Javascript Memoizer淺析

    這篇文章主要介紹了Javascript Memoizer淺析,Memoizer貌似是一種緩存方法調用結果的功能,小編也沒有太懂,需要的朋友參考下吧
    2014-10-10
  • JS圖片懶加載技術實現(xiàn)過程解析

    JS圖片懶加載技術實現(xiàn)過程解析

    這篇文章主要介紹了JS圖片懶加載技術實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論

石狮市| 明星| 五大连池市| 互助| 积石山| 博罗县| 突泉县| 犍为县| 平罗县| 黄平县| 东海县| 荆州市| 海淀区| 巴楚县| 弥勒县| 汕头市| 英超| 屏山县| 南雄市| 隆回县| 尖扎县| 北流市| 扎鲁特旗| 廉江市| 嘉兴市| 和政县| 偏关县| 宜君县| 敦化市| 万荣县| 台山市| 紫阳县| 顺昌县| 江安县| 景谷| 黄浦区| 蒙山县| 布拖县| 白河县| 嘉祥县| 余姚市|