- 0
- 0
- 约2.99千字
- 约 5页
- 2026-09-08 发布于河北
- 举报
数组高频面试题(含真实通俗答案)
一、基础概念题(入门必问)
1.说说数组和普通对象的区别?
答案:
1.数组是有序的键值集合,下标是数字索引,默认从0开始;普通对象是无序的,键名是字符串/符号。
2.数组自带length属性,可自动更新,能直接获取元素个数;普通对象没有原生length,需要手动遍历计算。
3.数组有大量专属遍历、操作方法(push、map、filter等);普通对象没有专属方法,需要借助Object工具方法操作。
4.数组属于特殊的对象,typeof判断数组会返回object,无法直接区分。
2.怎么准确判断一个变量是不是数组?列举常用方法
答案:
1.最靠谱、面试最认可:Array.isArray(arr),兼容所有场景,跨窗口也不会出错。
2.原型判断:arrinstanceofArray,简单好用,但有缺陷,多个页面嵌套时会判断失效。
3.精准原型检测:Object.prototype.toString.call(arr)===[objectArray],万能判断,所有环境都通用。
3.数组的length属性有什么特点?可以修改吗?
答案:
可以手动修改,这是数组很特殊的点。
1.改小length:会直接截断数组,超出长度的元素直接丢失,不可逆。
2.改大length:数组会新增空空位,新增位置的值为empt
原创力文档

文档评论(0)