陣列屬於引用資料型別,其值儲存在堆中,因此我們無法簡單的用==對其進行判斷,但可以使用類似於深拷貝的方法將其像剝洋蔥一樣撥開,逐個判斷
下面是本人自己寫的一套演算法:
functionarrayequal(arr1, arr2)
function
ifequal(obj1, obj2)
var pretype=gettype(obj1)
if(pretype== 'array')
var l=obj1.length
for(var i= 0; i< l; i ++)}}
else
if(pretype== 'object')
for(var i in
obj1)}}
else}}
function
gettype(obj)
function
getobjlen(obj)
return
l }
return ifequal(arr1, arr2)==false?false:true
}var a=arrayequal([1,, [1,2,3,]],[1,, [1,2,3,]])
console.log(a)
判斷兩個陣列是否 相等
判斷前後 兩次 獲得的位置是否相同,是不是同一位置。1.如果相同,返回return 不執行 下面的 操作 2.如果有 不同,哪怕只有乙個,break,執行下面的操作 m uileftarray 上一次的位置 uileftarray 獲得的新的位置 原程式 寫的妙 啊 if m ucfirenum u...
js判斷兩個陣列是否相等
1 將兩個陣列轉成字串比較,但是發現他們只是順序不相等也被當做不相等 1,2,3 tostring 3,2,1 tostring false 2 我們可以先把陣列排序按照從小到大的順序sort 函式 1,2,3 sort tostring 3,2,1 sort tostring true 這樣的就是...
php判斷兩個陣列是否相等
php判斷兩個陣列是否相等可以直接上 或者 號 或參考 php 判斷兩個陣列是否相等 如何判斷兩個陣列相等呢?其實很簡單,用 或者 就可以了 那像 array k array 這樣的多維陣列能用如上方法判斷相等嗎?當然也可以。若陣列是數字索引的,就要注意一下了,見 1 45var dump a b ...