当前位置: 首页 > 编程笔记 >

JS array数组检测方式解析

翁硕
2023-03-14
本文向大家介绍JS array数组检测方式解析,包括了JS array数组检测方式解析的使用技巧和注意事项,需要的朋友参考一下

typeof

var arr = [1,2,3];
console.log(typeof arr);//'object'

数组的本质是一种特殊的对象,所以返回'object'。typeof运算符只能用来区分原始类型和对象类型,所以无法具体的检测出Array

instanceof

var arr = [1,2,3];
console.log(arr instanceof Array);//true

如果存在不同的全局环境,就会存在不同版本的Array构造函数,如果从一个框架向另一个框架传入一个数组,那么传入的数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数,这时候使用instanceof检测就不准确了

toString

通过引用Object的toString()方法来检查对象的类属性,对数组而言该属性的值总是"Array"

function type(obj){
  return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase();
}
console.log(type(arr));//'array'

isArray

ECMAScript5新增了Array.isArray()方法

console.log(Array.isArray([]));//true

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 第一种instanceof Array 来检测数组 if(value instanceof Array){ //数组操作 } 第二种使用Array.isArray()来检测数组 if(Array.isArray(value)){ //数组操作 }

  • 变异方法 Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新。这些方法如下: push() pop() shift() unshift() splice() sort() reverse() 你打开控制台,然后用前面例子的items数组调用变异方法:example1.items.push({ message: 'Baz' })。 替换数组 变异方法 (mutation method),

  • 我能够从照片中捕捉颜色的RGB值,但我希望能够通过编程检测该颜色是红色、橙色、黄色、绿色、蓝色、紫色、棕褐色还是白色或黑色。 所以我需要指定返回的RGB范围,例如,红色的值。。。或者蓝色。。。等等我现在有类似的东西,但它不包括所有可能的RGB品种。 红色 R=255,克 R=255,G=0,B 橙色 R=255,克 R=240,G=255,B=0 等等 有人知道如何获取任何RGB值,并检测它是红色

  • 如何通过CBC或ECB模式检测邮件是否为加密? 我已经做了一个函数,它可以在AES 128 CBC或ECB中随机加密,我可以在明文和密文之间进行汉明,但与密码模式无关。 如何检测分组密码模式? 先谢谢你

  • 我有一个组件,它可以接受React

  • 问题内容: 我将C#与SMO一起使用,并尝试检测要连接到的SQL Server版本(例如,企业版,标准版)。我知道如何获取版本信息,但这只能告诉我SQL Server的版本(例如,SQL Server 2008与SQL Server 2005)。 有谁知道如何获得实际的产品版本(例如,企业版,标准版)? 我需要此信息,因为某些SQL Server功能只是企业级的。因此,我可以尝试调用它们并捕获异常