当前位置: 首页 > news >正文

JS--判断是对象还是数组

原文网址:JS--判断是对象还是数组-CSDN博客

简介

本文介绍JS判断是否是对象或者数组的方法。

法1:instanceof

var arr1 = [1,2,3,4];
var arr2 = [];
var obj = {};
console.log(arr1 instanceof Array);   //true
console.log(arr2 instanceof Array);   //true
console.log(obj instanceof Array);    //false

法2:对象的constructor属性

var arr1 = [1,2,3,4];
var arr2 = [];
var obj = {};
console.log(arr1.constructor);  //Array
console.log(arr2.constructor);  //Array
console.log(obj.constructor);   //Object

可以这样判断:

return arr1.constructor === Array;

法3:Object.prototype.toString.call

console.log(Object.prototype.toString.call());         //undefined
console.log(Object.prototype.toString.call("123"));    //string
console.log(Object.prototype.toString.call(123));      //numberconsole.log(Object.prototype.toString.call([1,2,3]));  //Array
console.log(Object.prototype.toString.call({}));       //Object

法4:ES5中的Array.isArray

var arr1 = [1,2,3,4];
var arr2 = [];
var obj = {};
console.log(Array.isArray(arr1));    //true
console.log(Array.isArray(arr2));    //true
console.log(Array.isArray(obj));     //false

http://www.dtcms.com/a/324473.html

相关文章:

  • Spring之【详解AOP】
  • 使用 Docker-Compose 部署 Redis 三主三从集群(含 Exporter 监控)
  • SQL Server从入门到项目实践(超值版)读书笔记 23
  • Windows 11 安装 JDK 11
  • ThreadLocal的原理是什么,使用场景有哪些?
  • 【自动化运维神器Ansible】playbook案例解析:Handlers与Notify机制深度解析
  • Vue3入门到精通:2.4 Vue3动态组件与异步组件深度解析
  • leetcode经典题目——单调栈
  • 【Python 工具人快餐 · 第 7 份 · 完结】
  • Redis 监控与优化方案(C++项目)
  • [激光原理与应用-221]:设计 - 皮秒紫外激光器 - 常见技术难题、原因与解决方案
  • 北京天津廊坊唐山打捞失物日记
  • Docker-04:CGroups资源控制组
  • Go语言--语法基础8--函数定义与调用--错误处理
  • Java学习第一百二十三部分——HTTP/HTTPS
  • 基于VuePress2开发文档自部署及嵌入VUE项目
  • 【RH134知识点问答题】第 4 章 归档和传输文件
  • 【浮点数存储】结构、精度说明
  • 联邦学习之------VT合谋
  • Pico+unity VR入门开发超详细笔记2025
  • 人形机器人强化学习入门实践1part
  • stm32没有CMSIS文件
  • Redis如何实现一个分布式锁?
  • 第4章 程序段的反复执行3 do-whiile语句P139练习(题及答案)
  • [Linux]学习笔记系列 -- [arm][lib]
  • C++的嵌套结构体
  • Deep Learning MNIST手写数字识别 Mac
  • 【从源码角度深度理解 CPython 的垃圾回收机制】:第2课循环引用:标记清除-分代回收
  • 7.企业级AD活动目录的备份与恢复策略
  • 【celeba】-数据集的介绍