如何用js判断一个对象是不是Array
.如何用js判断一个对象是不是Array
1.Array.isArray(obj) 调用数组的isArray方法
2.obj instanceof Array 判断对象是否是Array的实例
3.Object.prototype.toString.call(obj) ===‘[object Array]’
Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象
4.判断对象是否有push等数组的一些方法。(这个方法有兼容问题,但也是一个简单易用的方法)
5.obj.constructor===Array //true
同理判断一个对象是否是函数:
console.log(Object.prototype.toString.call(obj)==='[object Function]') //true或false
js判断是否为对象
var obj = {};
1、toString(推荐)
Object.prototype.toString.call(obj) === '[Object Object]'
2、constructor
obj.constructor === Object
二、js判断数组是否含有某个值
方法一: arr.indexOf()
if (arr.indexOf(2) != -1){
console.log("数组含有2")
}else {
console.log("数组不含2")
}
方法二: for循环结合if判断
for (let i = 0;i < arr.length;i++){ if (arr[i] === 2){ console.log("数组含有2") } }
方法三: arr.find(callback)
arr.find(value => {
if (value === 2){
console.log("数组含有2")
}
})
方法四: arr.includes() 数组中含有某值返回true,没有返回false。ES7新方法。
let arr = [1,2,3,4];
if(arr.includes(2)){
console.log("数组中有2");
}else{
console.log("数组中无2");
}