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

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

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

一、問題

在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ù)組相等;

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

相關文章

最新評論

新沂市| 陕西省| 宣武区| 酉阳| 泰来县| 澳门| 河池市| 土默特右旗| 青海省| 墨江| 甘孜县| 紫阳县| 舞阳县| 汕尾市| 镇雄县| 惠安县| 津市市| 龙胜| 南华县| 平江县| 高碑店市| 景泰县| 行唐县| 汉寿县| 共和县| 海盐县| 宣汉县| 玛曲县| 洛宁县| 嘉禾县| 永登县| 普洱| 漳平市| 伊宁县| 海宁市| 浦北县| 曲靖市| 丹东市| 舒兰市| 容城县| 新疆|