首页 > 解决方案 > 无法读取 null 的属性“长度”-JavaScript

问题描述

我无法完成代码战中最简单的 kata 之一。想明白我哪里错了!

说明:将数组的所有数字相加,除了最高和最低元素(值,而不是索引!)。(最高/最低元素分别是每条边只有一个元素,即使有多个具有相同值的元素!)如果数组为空,null或None,或者只有1个元素,则返回0。

function sumArray(array) {
  var finalSum = 0;
  if (array != null || !array) {

    for (var i = 0; i < array.length; i++) {
      finalSum += array[i];
    }
    if (array.length === 0 || array.length <= 1) {
      return 0;
    } else {
      return finalSum - Math.max(...array) - Math.min(...array);
    }
  }
}

一切似乎都很好,应该可以工作,但它没有通过最终测试。

TypeError:无法读取 null 的属性“长度”

我尝试添加第一个 iftypeof array != 'null', typeof array != 'undefined'但它没有帮助......

标签: javascript

解决方案


if(typeof array !== "undefined" && typeof array !== "null" )

你可以试试这个。


推荐阅读