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

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

我们先给出数据

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

相关推荐
江城开朗的豌豆1 分钟前
HTML5 datalist:让你的输入框拥有'读心术'的超能力!
前端·javascript·面试
江城开朗的豌豆4 分钟前
事件绑定三件套:从onclick到addEventListener的进化史
前端·javascript·面试
小满zs2 小时前
Zustand 第四章(中间件)
前端·react.js
GalaxyPokemon3 小时前
LeetCode - 2. 两数相加
java·前端·javascript·算法·leetcode·职场和发展
dualven_in_csdn6 小时前
搞了两天的win7批处理脚本问题
java·linux·前端
你的人类朋友6 小时前
✍️【Node.js程序员】的数据库【索引优化】指南
前端·javascript·后端
CodeCraft Studio7 小时前
Excel处理控件Aspose.Cells教程:使用 C# 从 Excel 进行邮件合并
开发语言·c#·excel
小超爱编程7 小时前
纯前端做图片压缩
开发语言·前端·javascript
应巅7 小时前
echarts 数据大屏(无UI设计 极简洁版)
前端·ui·echarts
Jimmy8 小时前
CSS 实现描边文字效果
前端·css·html