【原創】javascript比較兩個數組中元素是否一致


JavaScript中比較兩個數組相等
直接比較數組相等,實際上是比較數組的內存地址是否相等,所以,直接用==和===比較兩個數字,最后都會返回false;

復制代碼
var a=new Array("1");b=new Array("1");console.log(a==b);
//這里的new可以省略,Array("2")表示創建一個數組,數組只有一個元素,為2;Array(2)表示創建一個數組,數組有兩個元素
false undefined var a=new Array("1");b=new Array("1");console.log(a===b); false undefined
復制代碼

事實上,要判斷兩個數組是否相等,只能將數組現轉化為字符串,再比較字符串是否相等,需要調用toString()方法:

var a=new Array("1","2"),
b=new Array("1","2");
console.log(a.toString()===b.toString());

true 
var a=new Array("1","2"),
b=new Array("1","2");console.log(a.toString()==="1,2");

true 

更嚴格來說,如果兩個數組中元素相同,但順序不同,則需要先對數組進行排序,再對排序完成的數組進行比較:arr.sort().toString();

復制代碼
var a=new Array("1","2","tt"),b=new Array("1","tt","2");
console.log(a.toString()===b.toString());

false 
undefined

var a=new Array("1","2","tt"),b=new Array("1","tt","2");
console.log(a.sort().toString()===b.sort().toString());

true 
undefined


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM