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

JS中比較兩個Object數(shù)組是否相等方法實例

 更新時間:2019年11月11日 15:11:23   作者:Anlia  
在本篇文章里小編給大家整理的是一篇關于JS中比較兩個Object數(shù)組是否相等方法實例內(nèi)容,有需要的朋友們學習下。

一、問題

在js中是不能直接用“==”或者“===”來計算兩個數(shù)組是否相等的,那么就需要對數(shù)組的值進行比較;

二、次解決方案

對于比較兩個數(shù)組次要的方法有如下幾種,為什么說是次要解決方案呢?因為它不能真正稱之為對兩個數(shù)組的對比。

1. 把兩個數(shù)組轉化為字符串的形式比較,如下:

a. 當兩個數(shù)組元素類型相同,順序相同時,直接判斷是否相等,結果不相等;轉化為字符串后,結果相等;

var a=[1, 2, 3, 4];
var b = a.slice(); 
console.log(a);
console.log(b); console.log(a == b);
console.log(JSON.stringify(a) == JSON.stringify(b));

 

運行結果:

2.當兩個數(shù)組元素類型不同,順序相同時,用toString()轉化為字符串,結果相等;用stringify轉化為字符串,結果不相等; 

var a=[1, 2, 3, 4]; 
var b = ['1', 2, 3, 4]; 
console.log(a); 
console.log(b); console.log(a.toString() == b.toString());
console.log(JSON.stringify(a) == JSON.stringify(b));
 

運行結果如下:

3. 當兩個數(shù)組不相同時,先排序,再轉化為Json字符串比較,結果相等:

var a = [1, 2, 3, 4]; 
var b = [4, 2, 3, 1]; 
console.log(a.sort()); 
console.log(b.sort());
console.log(JSON.stringify(a.sort()) == JSON.stringify(b.sort()));

運行結果:

4.當數(shù)組包含Object時,先排序,再進行比較,結果相等:

var a=[{"x":"abc"}, 2, 3, 4]; 
var b = [4, 2, 3, {"x":"abc"}]; 
console.log(a.sort()); 
console.log(b.sort()); console.log(JSON.stringify(a.sort()) == JSON.stringify(b.sort()));

運行結果:

從以上可以看出:  

1. 如果兩個數(shù)組元素類型相同,順序相同時,用stringify轉化為字符串后進行比較;

2. 如果兩個數(shù)組元素類型相同,順序不相同時,排序后,用stringify轉化為字符串再進行比較;

3.兩個數(shù)組元素類型不同時,用stringify轉化為字符串后進行比較,數(shù)組不相等;用toString()轉化為字符串后進行比較,數(shù)組相等;

以上就是本次介紹的全部相關知識點,內(nèi)容還需要待補充,后期小編會完善相關內(nèi)容,跟多內(nèi)容可以在下方的相關文章學習。

相關文章

  • JS畫線(實例代碼)

    JS畫線(實例代碼)

    這篇文章主要是對JS畫線的實例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • uni-app中renderjs使用的方式淺析

    uni-app中renderjs使用的方式淺析

    renderjs是一個運行在視圖層的js,它只支持app-vue和h5,下面這篇文章主要給大家介紹了關于uni-app中renderjs使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • 原生js實現(xiàn)輪播圖特效

    原生js實現(xiàn)輪播圖特效

    這篇文章主要為大家詳細介紹了原生js實現(xiàn)輪播圖特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • javascript字母大小寫轉換的4個函數(shù)詳解

    javascript字母大小寫轉換的4個函數(shù)詳解

    這篇文章主要介紹了javascript字母大小寫轉換的4個函數(shù)詳解,需要的朋友可以參考下
    2014-05-05
  • javascript 獲取頁面的高度及滾動條的位置的代碼

    javascript 獲取頁面的高度及滾動條的位置的代碼

    javascript獲取頁面的高度及滾動條的位置的代碼,需要的朋友可以參考下。
    2010-05-05
  • 用POSTMAN發(fā)送JSON格式的POST請求示例

    用POSTMAN發(fā)送JSON格式的POST請求示例

    這篇文章主要介紹了用POSTMAN發(fā)送JSON格式的POST請求示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • JavaScript設計模式之緩存代理模式原理與簡單用法示例

    JavaScript設計模式之緩存代理模式原理與簡單用法示例

    這篇文章主要介紹了JavaScript設計模式之緩存代理模式原理與簡單用法,結合實例形式簡要分析了javascript緩存代理模式的基本原理、使用方法及相關操作注意事項,需要的朋友可以參考下
    2018-08-08
  • js字符串倒序的實例代碼

    js字符串倒序的實例代碼

    這篇文章主要介紹了js字符串倒序的實例代碼,代碼分為3部分,給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • js 作用域和變量詳解

    js 作用域和變量詳解

    本文主要介紹了js 的作用域和變量的相關知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • javascript的回調(diào)函數(shù)應用示例

    javascript的回調(diào)函數(shù)應用示例

    回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù)。下面以示例的方式為大家介紹下其具體的使用
    2014-02-02

最新評論