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

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

我们先给出数据

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

相关推荐
码农刚子5 分钟前
ASP.NET Core Blazor进阶1:高级组件开发
前端·前端框架
say_fall14 分钟前
C语言容易忽略的小知识点(1)
c语言·开发语言
不会编程的小寒19 分钟前
C++初始继承,继承中构造、析构顺序
开发语言·python
道可到20 分钟前
重新审视 JavaScript 中的异步循环
前端
起这个名字25 分钟前
微前端应用通信使用和原理
前端·javascript·vue.js
运维管理31 分钟前
Linux系统笔记--Base
开发语言·php
QuantumLeap丶34 分钟前
《uni-app跨平台开发完全指南》- 06 - 页面路由与导航
前端·vue.js·uni-app
CSharp精选营35 分钟前
ASP.NET Core Blazor进阶1:高级组件开发
前端·.net core·blazor
用户904438163246044 分钟前
AI 生成的 ES2024 代码 90% 有坑!3 个底层陷阱 + 避坑工具,项目 / 面试双救命
前端·面试
小p1 小时前
react学习6:受控组件
前端·react.js