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

一、問(wèn)題

在通川等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營(yíng)銷型網(wǎng)站,外貿(mào)網(wǎng)站建設(shè),通川網(wǎng)站建設(shè)費(fèi)用合理。

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

二、次解決方案

對(duì)于比較兩個(gè)數(shù)組次要的方法有如下幾種,為什么說(shuō)是次要解決方案呢?因?yàn)樗荒苷嬲Q之為對(duì)兩個(gè)數(shù)組的對(duì)比。

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

a. 當(dāng)兩個(gè)數(shù)組元素類型相同,順序相同時(shí),直接判斷是否相等,結(jié)果不相等;轉(zhuǎn)化為字符串后,結(jié)果相等;

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));

 

運(yùn)行結(jié)果:

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

2.當(dāng)兩個(gè)數(shù)組元素類型不同,順序相同時(shí),用toString()轉(zhuǎn)化為字符串,結(jié)果相等;用stringify轉(zhuǎn)化為字符串,結(jié)果不相等; 

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));
 

運(yùn)行結(jié)果如下:

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

3. 當(dāng)兩個(gè)數(shù)組不相同時(shí),先排序,再轉(zhuǎn)化為Json字符串比較,結(jié)果相等:

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()));

運(yùn)行結(jié)果:

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

4.當(dāng)數(shù)組包含Object時(shí),先排序,再進(jìn)行比較,結(jié)果相等:

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()));

運(yùn)行結(jié)果:

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

從以上可以看出:

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

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

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

以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),內(nèi)容還需要待補(bǔ)充,后期小編會(huì)完善相關(guān)內(nèi)容,跟多內(nèi)容可以在下方的相關(guān)文章學(xué)習(xí)。

分享標(biāo)題:JS中比較兩個(gè)Object數(shù)組是否相等方法實(shí)例
分享地址:http://muchs.cn/article26/ighgjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站、網(wǎng)站策劃、微信小程序、品牌網(wǎng)站建設(shè)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化