国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript中判斷數(shù)組是否相同的方法及示例代碼

JavaScript中判斷數(shù)組是否相同

在JavaScript中,我們?nèi)绾闻袛鄡蓚€數(shù)組是否相同。使用"=="或"==="運(yùn)算符直接比較兩個數(shù)組對象是不行的。

原理

我們需要添加一個自定義的方法equals到JavaScript的Array.prototype原型對象上。我們就可以通過調(diào)用該方法來判斷兩個數(shù)組是否相同。文章來源地址http://www.zghlxwxcb.cn/article/533.html

完整代碼

// 如果覆蓋現(xiàn)有方法則發(fā)出警告
if (Array.prototype.equals)
    console.warn("覆蓋現(xiàn)有的 Array.prototype.equals??赡艿脑颍盒碌?nbsp;API 定義了該方法,存在框架沖突,或者代碼中有雙重包含。");

// 將 .equals 方法附加到 Array 的原型以在任何數(shù)組上調(diào)用它
Array.prototype.equals = function (array) {
    // 如果另一個數(shù)組是假值,則返回
    if (!array)
        return false;

    // 比較長度 - 可以節(jié)省大量時間
    if (this.length != array.length)
        return false;

    for (var i = 0, l = this.length; i < l; i++) {
        // 檢查是否有嵌套數(shù)組
        if (this[i] instanceof Array && array[i] instanceof Array) {
            // 遞歸到嵌套數(shù)組
            if (!this[i].equals(array[i]))
                return false;
        }
        else if (this[i] != array[i]) {
            // 警告 - 兩個不同的對象實(shí)例永遠(yuǎn)不會相等: {x:20} != {x:20}
            return false;
        }
    }
    return true;
}

// 隱藏 for-in 循環(huán)中的方法
Object.defineProperty(Array.prototype, "equals", { enumerable: false });

使用方法

var arr1 = [1, 2, 3];
var arr2 = [1, 2, 3];
var arr3 = [1, 2, 4];
console.log(arr1.equals(arr2)); // 輸出: true,arr1 與 arr2 相等
console.log(arr1.equals(arr3)); // 輸出: false,arr1 與 arr3 不相等

到此這篇關(guān)于JavaScript中判斷數(shù)組是否相同的方法及示例代碼的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/533.html

如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請聯(lián)系站長進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JavaScript判斷數(shù)組對象是否含有某個值的方法(6種)

    JavaScript判斷數(shù)組對象是否含有某個值的方法(6種)

    文章內(nèi)容 文章鏈接 vue3 antd table表格的增刪改查(一) input輸入框根據(jù)搜索【后臺管理系統(tǒng)純前端filter過濾】 https://blog.csdn.net/XSL_HR/article/details/128072584?spm=1001.2014.3001.5501 vue3 antd table表格的增刪改查(二) input輸入框根據(jù)搜索【后臺管理系統(tǒng) 請求后端接口 前后端

    2024年02月06日
    瀏覽(28)
  • 【Java SE】判斷兩個文件內(nèi)容是否相同的多種方法

    逐字節(jié)比較文件內(nèi)容。這種方法適用于小文件,但對于大文件會比較耗時。 計(jì)算文件的哈希值(如 MD5、SHA-256 等),然后比較兩個文件的哈希值。如果哈希值相同,則可以認(rèn)為文件內(nèi)容相同。這種方法適用于大文件,因?yàn)橹恍枰容^哈希值而不是整個文件內(nèi)容。 通過使用

    2024年02月07日
    瀏覽(99)
  • JavaScript判斷時間間隔是否連續(xù)為一天的方法

    在開發(fā)中,我們經(jīng)常需要判斷一個數(shù)組中的對象的時間間隔是否連續(xù)。本文將介紹一個方法,通過對數(shù)組中的對象進(jìn)行排序和比較,來判斷時間是否從00:00到24:00連續(xù)。 假設(shè)我們有一個數(shù)組,其中包含多個對象,每個對象都有開始時間和結(jié)束時間。我們需要判斷這些時間間隔

    2024年01月18日
    瀏覽(37)
  • JavaScript判斷對象是否為空對象的幾種方法

    JavaScript判斷對象是否為空對象的幾種方法

    目錄 1、空對象對應(yīng)的字符串為 \\\"{}\\\" 2、for in 3、jquery 的 isEmptyObject()方法 4、Object.getOwnPropertyNames() 5、ES6 的 Object.keys() JSON.stringify()擴(kuò)展 1、第一大特性 小結(jié) 2、第二大特性 3、第三大特性 4、第四大特性 5、第五大特性 6、第六大特性 7、第七大特性 8、第八大特性 var data = {}; v

    2024年01月16日
    瀏覽(29)
  • JavaScript數(shù)組(四):判斷數(shù)組相等的4種方法

    在JavaScript中,數(shù)組本質(zhì)上是一種特殊的對象,它的類型值會返回 object 。 如果我們需要比較兩個數(shù)組是否相等,不能像比較基本類型(String、Number、Boolean等)一樣,使用 === (或 == ) 來判斷,所以如果要比較數(shù)組是否相等,需要使用一些特殊方法。關(guān)于JS類型的判斷,可見博文

    2024年02月01日
    瀏覽(26)
  • JavaScript判斷兩個數(shù)組相等的四類方法

    在JavaScript中,數(shù)組本質(zhì)上是一種特殊的對象,它的類型值會返回 object 。 如果我們需要比較兩個數(shù)組是否相等,不能像比較基本類型(String、Number、Boolean等)一樣,使用 === (或 == ) 來判斷,所以如果要比較數(shù)組是否相等,需要使用一些特殊方法。關(guān)于JS類型的判斷,可見博文

    2024年02月09日
    瀏覽(96)
  • 前端基礎(chǔ)面試題:如何判斷對象是否具有某屬性?遍歷數(shù)組的方法有哪些?

    前端基礎(chǔ)面試題:如何判斷對象是否具有某屬性?遍歷數(shù)組的方法有哪些?

    一、如何判斷對象具有某屬性? 如: let obj={name:\\\'zhangsan\\\',age:21} 有以下方法 ( property 為屬性名的變量,實(shí)際上是key,鍵名): 1. property in obj 效果如圖: in 運(yùn)算符 2. Reflect.has(obj, property) 效果如圖: 關(guān)于 Reflect: ① 它是JS的一個內(nèi)置對象,無構(gòu)造函數(shù),可以用它遍歷對象的key,如

    2023年04月08日
    瀏覽(98)
  • java判斷某個字符串是否在字符串?dāng)?shù)組中的方法(4種)

    java判斷某個字符串是否在字符串?dāng)?shù)組中的方法(4種)

    public class Demo { ??? public static boolean useLoop(String[] arr, String targetValue) { ??????? for (String s : arr) { ??????????? if (s.equals(targetValue)) return true; ??????? } ??????? return false; ??? } ? ??? public static void main(String[] args) { ??????? String arr[] = {\\\"aa\\\", \\\"bb\\\", \\\"cc\\\"}; ??????

    2024年02月11日
    瀏覽(202)
  • PHP開發(fā)日志 ━━ 不同方法判斷某個數(shù)組中是否存在指定的鍵名,測試哪種方法效率高

    PHP開發(fā)日志 ━━ 不同方法判斷某個數(shù)組中是否存在指定的鍵名,測試哪種方法效率高

    我們可以用 isset($arr[\\\'a\\\']) 或者 array_key_exists(\\\'a\\\', $arr) 來判斷 \\\'a\\\' 鍵名是否存在與 $arr 數(shù)組。 那么這兩種方式哪個運(yùn)行速度快呢? 不多廢話了,現(xiàn)在我們寫一段代碼來測試一下: 結(jié)論是 isset() 更勝一籌。

    2024年02月02日
    瀏覽(91)
  • JavaScript判斷是否為NaN

    JavaScript判斷是否為NaN

    (旅行是最勞頓,最麻煩,叫人本相必現(xiàn)的時候。經(jīng)過長期苦旅行而彼此不討厭的人,才可以結(jié)交作朋友?!X鐘書) 相信你在實(shí)際開發(fā)中,經(jīng)常遇到一下場景 業(yè)務(wù)中不可避免的有些字段是空值,但經(jīng)過轉(zhuǎn)換后會變?yōu)镹aN值,而在js中NaN的類型無論怎么判斷都是數(shù)字,并且奇

    2024年02月02日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包