MST

星途 面试题库

面试题:JavaScript中动态减少数组长度并处理边界情况

给定数组 `let arr = [1, 2, 3, 4, 5];`,要求通过代码动态减少数组长度,使得数组只保留前3个元素。请考虑在减少长度过程中可能出现的边界情况,例如数组为空时如何处理,以及这种操作对数组其他属性和方法的影响,并写出完整的代码和解释。
18.4万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

代码

let arr = [1, 2, 3, 4, 5];
if (arr.length === 0) {
    console.log("数组为空,无需处理");
} else {
    arr.length = 3;
}
console.log(arr);

解释

  1. 边界情况处理:首先使用 if 语句检查数组是否为空。如果 arr.length 等于 0,说明数组为空,此时输出提示信息 “数组为空,无需处理”。
  2. 动态减少数组长度:当数组不为空时,直接通过 arr.length = 3 来改变数组的长度。这种方式会截断数组,只保留前三个元素。
  3. 对其他属性和方法的影响:这种操作会直接改变数组的 length 属性,其他元素会被移除。对于常见的数组方法,例如 pushpopshiftunshift 等,在数组长度改变后,它们的行为依然遵循数组的基本逻辑。例如 push 会在新的 length 位置之后添加元素。同时,被移除元素的索引和值不再存在于数组中。最后通过 console.log(arr) 输出处理后的数组。