Javascript不能直接用==或===來判斷兩個陣列是否相等,無論是相等或全等都不行,以下兩行JS程式碼都會回傳false
<script type="text/javascript"> alert([]==[]); alert([]===[]); </script>
要判斷JS中的兩個陣列是否相同,需要先將陣列轉換為字串,再作比較。以下兩行程式碼會回傳true
<script type="text/javascript"> alert([].toString()== [].toString()); alert([].toString()===[].toString()); </script>
JS要比較兩個陣列是否有相同的元素,即兩個陣列所有元素都相同,但元素的順序不一定一致。只就需要先將數組進行排序,再比較兩個數組是否相等。
<script type="text/javascript"> alert([1,2,3].toString()== [3,2,1].toString()); alert([1,2,3].sort().toString()== [3,2,1].sort().toString()); </script>
另外,[null]進行判斷,也可以將[null].toString() === ''也將回傳true。
以上這篇AngularJS下對數組的對比分析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。
更多AngularJS下對數組的對比分析相關文章請關注PHP中文網!