提前输入arr1.length报错

来源:1-6 编程练习

yangjiayu

2016-08-19 00:12

 function arraysSimilar(arr1, arr2){

            var d = arr1.length;

            var c;

            if (!(arr1 instanceof Array) || !(arr2 instanceof Array)) return false;

控制台报   VM4917:8 Uncaught TypeError: Cannot read property 'length' of null

写回答 关注

3回答

  • vaneX
    2016-08-27 13:00:18

    你没有检测输入的 arr1 arr2 是否为数组

    错误提示:

    Uncaught TypeError: Cannot read property 'length' of null // 不能读取null属性的长度

    意味着 arr1 或者 arr2 在测试数据中,有一个或多个输入数据为 null

    所以,你需要先检测数据类型,确认是数组后,再获取数组长度:

    if (!Array.isArray(arr1)
        || !Array.isArray(arr2)
        || arr1.length != arr2.length) {
          return false;
        }
  • yangjiayu
    2016-08-19 09:49:04

    没有少,重点是var d = arr1.length;这行代码,如果注掉,运行ok,不注掉,运行Uncaught TypeError: Cannot read property 'length' of null

  • sandheart
    2016-08-19 09:21:29

    结尾少了"}"

    yangji...

    没有少,重点是var d = arr1.length;这行代码,如果注掉,运行ok,不注掉,运行Uncaught TypeError: Cannot read property 'length' of null

    2016-08-19 09:49:36

    共 1 条回复 >

JavaScript深入浅出

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

281112 学习 · 1020 问题

查看课程

相似问题