欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS判斷兩個數(shù)組或?qū)ο笫欠裣嗤姆椒ㄊ纠?/h1>
 更新時間:2019年02月28日 08:49:11   作者:huangpb0624  
這篇文章主要介紹了JS判斷兩個數(shù)組或?qū)ο笫欠裣嗤姆椒?結(jié)合實例形式分析了javascript針對簡單數(shù)組與對象進行判斷的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了JS判斷兩個數(shù)組或?qū)ο笫欠裣嗤姆椒ā7窒斫o大家供大家參考,具體如下:

JS 判斷兩個數(shù)組是否相同

要判斷2個數(shù)組是否相同,首先要把數(shù)組進行排序,然后轉(zhuǎn)換成字符串進行比較。

JSON.stringify([1,2,3].sort()) === JSON.stringify([3,2,1].sort()); //true

或者

[1,2,3].sort().toString() === [3,2,1].sort().toString(); //true

經(jīng)驗證,上述方法對復雜數(shù)組結(jié)構(gòu)不適用。

JS 判斷兩個對象是否相同

這是網(wǎng)上某大神封裝對比對象是否相同的 function。

let cmp = ( x, y ) => {
// If both x and y are null or undefined and exactly the same
    if ( x === y ) {
      return true;
    }
// If they are not strictly equal, they both need to be Objects
    if ( ! ( x instanceof Object ) || ! ( y instanceof Object ) ) {
      return false;
    }
//They must have the exact same prototype chain,the closest we can do is
//test the constructor.
    if ( x.constructor !== y.constructor ) {
      return false;
    }
    for ( var p in x ) {
      //Inherited properties were tested using x.constructor === y.constructor
      if ( x.hasOwnProperty( p ) ) {
        // Allows comparing x[ p ] and y[ p ] when set to undefined
        if ( ! y.hasOwnProperty( p ) ) {
          return false;
        }
        // If they have the same strict value or identity then they are equal
        if ( x[ p ] === y[ p ] ) {
          continue;
        }
        // Numbers, Strings, Functions, Booleans must be strictly equal
        if ( typeof( x[ p ] ) !== "object" ) {
          return false;
        }
        // Objects and Arrays must be tested recursively
        if ( ! Object.equals( x[ p ], y[ p ] ) ) {
          return false;
        }
      }
    }
    for ( p in y ) {
      // allows x[ p ] to be set to undefined
      if ( y.hasOwnProperty( p ) && ! x.hasOwnProperty( p ) ) {
        return false;
      }
    }
    return true;
};

經(jīng)檢測,同樣也不支持復雜數(shù)據(jù)結(jié)構(gòu)的對象。

一般情況下用的話上述2種方法已經(jīng)夠用了,拿來作比較的一般都是簡單的數(shù)據(jù)結(jié)構(gòu)。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)

希望本文所述對大家JavaScript程序設計有所幫助。

相關(guān)文章

  • 原生js實現(xiàn)模擬滾動條

    原生js實現(xiàn)模擬滾動條

    本文給大家分享的是使用原生javascript實現(xiàn)模擬滾動條的方法及代碼,效果非常棒,有需要的小伙伴可以參考下。
    2015-06-06
  • JavaScript按值刪除數(shù)組元素的方法

    JavaScript按值刪除數(shù)組元素的方法

    這篇文章主要介紹了JavaScript按值刪除數(shù)組元素的方法,涉及javascript操作數(shù)組的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • IE6下通過a標簽點擊切換圖片的問題

    IE6下通過a標簽點擊切換圖片的問題

    IE6已經(jīng)讓人惡心很久了, Google旗下Youtube決定在3月13日起停止對IE6的支持. 但愿能加速IE6更換的速度.
    2010-11-11
  • Javascript前端經(jīng)典的面試題及答案

    Javascript前端經(jīng)典的面試題及答案

    最近在網(wǎng)上看到了一些關(guān)于Javascript的面試題就整理了下來,希望對有需要的朋友或者自己能有一定的幫助,后續(xù)看到再繼續(xù)補充。下面一起來看看這篇關(guān)于Javascript前端常見的面試題的文章,一起來學習學習吧。
    2017-03-03
  • 動態(tài)加載js和css(外部文件)

    動態(tài)加載js和css(外部文件)

    本文詳細介紹下,如何動態(tài)加載外部js文件及js;動態(tài)加載外部css樣式及css樣式,感興趣的朋友可以參考下哈,希望對你學習js有所幫助
    2013-04-04
  • Openlayers學習之加載鷹眼控件

    Openlayers學習之加載鷹眼控件

    這篇文章主要介紹了Openlayers學習之加載鷹眼控件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • JavaScript中對于SPA單頁面的理解

    JavaScript中對于SPA單頁面的理解

    這篇文章主要介紹了JavaScript中對于SPA單頁面的理解,單頁應用SPA是一種網(wǎng)絡應用程序或網(wǎng)站的模型,它通過動態(tài)重寫當前頁面來與用戶交互
    2023-02-02
  • 寫了一個layout,拖動條連貫,內(nèi)容區(qū)可為iframe

    寫了一個layout,拖動條連貫,內(nèi)容區(qū)可為iframe

    寫了一個layout,拖動條連貫,內(nèi)容區(qū)可為iframe...
    2007-08-08
  • 一些相見恨晚的 JavaScript 技巧

    一些相見恨晚的 JavaScript 技巧

    本文從7個方面講述 JavaScript 中那些你不很熟知但非常實用的技巧。
    2010-04-04
  • JavaScript模擬文件拖選框樣式v1.0的實例

    JavaScript模擬文件拖選框樣式v1.0的實例

    下面小編就為大家?guī)硪黄狫avaScript模擬文件拖選框樣式v1.0的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論