问答详情
源自:1-6 编程练习

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

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;

        }

提问者:_Doogie 2016-03-20 21:43

个回答

  • _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

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