前端面试——如何判断对象和数组

给你一个值,如何判断其是对象还是数组???

我们先给出数据

javascript 复制代码
var lists = [1,2,3,4,5]

var objs = {
    length:5
}

我们分别尝试如下五种方法

javascript 复制代码
console.log('(✘)使用length',lists.length,objs.length);
console.log('(✔)使用isArray',Array.isArray(lists),Array.isArray(objs));
console.log('(✔)使用constuctor',lists.constructor === Array,objs.constructor === Array);
console.log('(✔)使用instanceof',lists instanceof Array,objs instanceof Array);

输出结果如下

所以有三种常见方法判断: constructor 属性,Array.isArray 方法,instanceof关键字

这里面推荐使用:Array.isArray 方法,instanceof关键字

相关推荐
前端一课几秒前
我还在上班,怎么做一个长期有价值的号
前端
前端一课13 分钟前
用 TRAE Work 把项目踩坑经验沉淀成「团队可复用工程规范」,新人再也不重复掉坑
前端·后端
cyadyx27 分钟前
【Three.js】Three.js 中加载 3D 模型
前端·javascript·3d
汉堡大王952727 分钟前
前端工程师 TypeScript 上手指南:一条清晰的从入门到精通路线
前端·javascript·react.js
wear工程师32 分钟前
防抖为什么会失效?React 面试里的闭包和定时器
javascript·react.js
浅水壁虎34 分钟前
vue基础(第四章 Pinia)
前端·javascript·vue.js
用户21816970493037 分钟前
Flutter (十四) SingleChildScrollView ListView
前端
昭阳39 分钟前
4 个 vibe coding 项目,一个普通前端的半年
前端·人工智能·设计
颜进强43 分钟前
Claude Code - 26 效率三件套:cc-switch 切模型 · codeburn 算成本 · claude-hud 看状态
前端·后端·ai编程
LiLiYuan.1 小时前
【字符串常量池】
java·开发语言·面试