在线答题小程序V3.0已经增加了对填空题的支持,但是一直有个限制,就是目前只支持单个空的,对填空为多个空的不支持,这个限制归结到底为我之前没有想好,多个空时,如何去判断是否答题正确。
我把问题从需求里面提取出来就是:
如何比较两个数组的元素完全相同?顺序不做要求
今天在群里问了下小伙伴,马上就给了方案,具体如下所示
1
2
Javascript怎么比较两个数组是否相同?
JS怎么比较两个数组是否有完全相同的元素?
Javascript不能直接用==或者===来判断两个数组是否相等,无论是相等还是全等都不行,以下两行JS代码都会返回false
alert([]==[]); alert([]===[]);
要判断JS中的两个数组是否相同,需要先将数组转换为字符串,再作比较。以下两行代码将返回true
alert([].toString()== [].toString());
alert([].toString()===[].toString());
JS要比较两个数组是否有相同的元素,即两个数组所有元素都相同,但元素的顺序不一定一致。只就需要先将数组进行排序,再比较两个数组是否相等。
试比较以下两行代码:
alert([1,2,3].toString()== [3,2,1].toString());
alert([1,2,3].sort().toString()== [3,2,1].sort().toString());
3
多谢参与的几个小伙伴
4
Javascript怎么比较两个数组是否相同?
JS怎么比较两个数组是否有完全相同的元素?
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>