求教,这样写有木有问题?

来源:1-6 编程练习

_Doogie

2016-03-20 21:43

function arraysSimilar(arr1, arr2){

            if(arr1.length == arr2.length){

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

                    if(Object.prototype.toString.apply(arr1[i]) == Object.prototype.toString.apply(arr2[i])){

                        continue;

                    }

                    return false;

                }

                return true;

            }

            return false;

        }
写回答 关注

3回答

  • _Doogie
    2016-03-21 12:57:41

    我的意思是按照它说的条件:

    1. 比较的两个数组长度相等

    2. 数组元素类型一样

    所以我的思路是:先比较长度,长度不等直接可以返回false了,如果长度相等再进一步遍历两个数组的元素,下标相等的两个数组元素用Object.prototype.toString.apply()判断它们的类型是否相同,是的话返回true,如果遍历的过程中有类型不同的就返回false。不知道我这样的思路以及用的这个Object.prototype.toString.apply()正不正确

  • jarvischn
    2016-03-21 10:29:51

    数组是乱序的,这样写会出错

  • 受戒人
    2016-03-21 10:06:00

    你这是比较两个数组是否相等?看着没什么问题啊

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281111 学习 · 1020 问题

查看课程

相似问题