判断数组的四种方法

判断数组的方式:

isArray()
Array.isArray([])//true
Array.isArray({})//false

toString(这里的toString是object上面的方法,不是调用者身上的方法)
toString.call({})//"[object Object]" 或者Object.prototype.toString.call({});
toString.call([])//"[object Array]" 或者Object.prototype.toString.call([]);
toString.call(null)//"[object Null]"
toString.call(undefined)//"[object Undefined]"
toString.call()//"[object Undefined]"
toString.call(/[]/)//"[object RegExp]"
toString.call(123)//"[object Number]"
toString.call(‘abc’)//"[object String]"
toString.call(document.querySelector(’.main’)) // ‘[object HTMLDivElement]’

constructor
[].constructor//ƒ Array() { [native code] }
var fn = function(){};fn.constructor//ƒ Function() { [native code] }
var str = ‘abc’;str.constructor//ƒ String() { [native code] }
var obj = {};obj.constructor//ƒ Object() { [native code] } obj.constructor=Object//true
var bol = true;bol.constructor//ƒ Boolean() { [native code] } bol.constructor
=Boolean//true
注意:constructor是可读可写的,可以人为更改,所以不一定准确

instanceof 用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上
var num = 123;
var str = ‘abcd’;
var bol = true;
var obj = {};
var fn = function (){};
var date = new Date();
var reg = /[]/;
console.log(num instanceof Number);//false
console.log(str instanceof String);//false
console.log(bol instanceof Boolean);//false
console.log(obj instanceof Object);//true
console.log([] instanceof Array);//true
console.log([] instanceof Object)// true
console.log(fn instanceof Function);//true
console.log(date instanceof Date);//true
console.log(reg instanceof RegExp);//true

typeof用来检测值类型
instanceof用来检测引用类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中,有多种方法可以判断数组中是否存在某个元素。其中一种方法是使用数组的indexOf()方法。这个方法会返回元素在数组中的索引,如果元素不存在则返回-1。例如,可以使用以下代码来判断数组arr中是否存在元素66: ```javascript var arr = \[100, 20, 50, 58, 6, 69, 36, 45, 78, 66, 45\]; if (arr.indexOf(66) === -1) { console.log("不存在"); } else { console.log("存在,索引是:" + arr.indexOf(66)); } ``` 这段代码首先使用indexOf()方法查找元素66在数组arr中的索引,如果返回为-1,则表示元素不存在,否则表示元素存在,并打印出索引。\[1\] 除了indexOf()方法,还可以使用其他方法判断数组中是否存在某个元素,比如使用jQuery的$.inArray()方法数组实例的find()方法、findIndex()方法,或者使用for循环和if判断。这些方法的具体用法可以参考引用\[2\]和引用\[3\]中的代码示例。 总结起来,判断数组中是否存在某个元素可以使用indexOf()方法、$.inArray()方法、find()方法、findIndex()方法或者使用for循环和if判断。具体使用哪种方法可以根据实际情况选择。 #### 引用[.reference_title] - *1* *3* [js判断数组中是否存在某个元素(四种方法)](https://blog.csdn.net/anzhenxi3529/article/details/125523556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [js判断数组中是否存在某一数的五种方法](https://blog.csdn.net/qq_19176681/article/details/103711230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值