JavaScript如何比较两个数组的内容是否相同

JavaScript如何比较两个数组的内容是否相同,第1张

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>

如果是完全一样的数组,可以简单的把数组转字符串后进行判断,否则只能通过循环判断

    (function() {

        var arr1 = [1, 2, 3]

        var arr2 = [1, 2, 3]

        alert(arr1.toString() == arr2.toString()) //true

    })()

没有现成的方法, 只能自己写个方法来判断

fungction  checkArr(arr1,arr2){

    var rs=false

    for (var i=0 i<arr1.length i++){

        for (var j=0j<arr2.lengthj++){

            if( arr1[i]== arr2[j]){

                rs=true

                exit

               }

            }

        }

        return rs

    }


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9577271.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存