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

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

我们先给出数据

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关键字

相关推荐
七灵微40 分钟前
【后端】单点登录
服务器·前端
持久的棒棒君5 小时前
npm安装electron下载太慢,导致报错
前端·electron·npm
crary,记忆7 小时前
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
前端·webpack·angular·angular.js
门前云梦7 小时前
《C语言·源初法典》---C语言基础(上)
c语言·开发语言·学习
漂流瓶jz7 小时前
让数据"流动"起来!Node.js实现流式渲染/流式传输与背后的HTTP原理
前端·javascript·node.js
SamHou07 小时前
手把手 CSS 盒子模型——从零开始的奶奶级 Web 开发教程2
前端·css·web
我不吃饼干8 小时前
从 Vue3 源码中了解你所不知道的 never
前端·typescript
开航母的李大8 小时前
【中间件】Web服务、消息队列、缓存与微服务治理:Nginx、Kafka、Redis、Nacos 详解
前端·redis·nginx·缓存·微服务·kafka
Bruk.Liu8 小时前
《Minio 分片上传实现(基于Spring Boot)》
前端·spring boot·minio
sjtu_cjs8 小时前
Tensorrt python api 10.11.0笔记
开发语言·笔记·python