评论

在线答题小程序,填空类型判断方案

在线答题小程序

在线答题小程序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

最后一次编辑于  06-02  
点赞 0
收藏
评论

1 个评论

  • 小肥羊
    小肥羊
    06-02

    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>
    


    06-02
    赞同
    回复
登录 后发表内容