You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript函数为何在数组为空时无法返回Null?

问题分析:空数组传入时函数返回undefined而非null
  • 你代码里的核心判断是和空字符串""做比较,但空数组[]和空字符串""根本不是一回事——空数组的类型是object,空字符串是string,所以传入空数组时,array !== ""这个条件会成立,程序会进入if分支,执行return array[array.length - 1]。
  • 空数组的length是0,0 - 1得到-1,在JavaScript里,数组的[-1]索引没有对应的元素,自然会返回undefined,这就是空数组传入时返回undefined的原因。
  • 额外提一句:当你不传参数调用函数时,array的值是undefined,这时候array !== ""同样成立,进入if分支后尝试访问undefined.length会直接抛出报错,而不是返回null,这也是你没覆盖到的场景。

你的代码:

function lastElement(array) {
  if (array !== "") {
    return array[array.length - 1];
  } else {
    return null;
  }
}

内容的提问来源于stack exchange,提问作者Cole Hanson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:55:25