1. 判断一个变量是对象还是数组
首先判断一个变量是对象还是数组,不能使用typeof来判断,因为不管是对象还是数组,使用typeof得到的都是"object"。
可以使用Object.prototype.toString.call()方法。
function isObjOrArr(obj) {
if (Object.prototype.toString.call(obj) === '[object Array]') {
console.log('obj是数组');
// other code
} else if (Object.prototype.toString.call(obj) === '[object Object]') {
console.log('obj是对象');
// other code
} else {
console.log('obj不是数组也不是对象');
// other code
}
}
2. 判断一个对象是否是空对象
2.1 可以通过 JSON.stringify()方法判断
将对象转化为json字符串,再判断该字符串是否为"{}"即可。
function isEmpty(obj) {
if (JSON.stringify(obj) === '{}') {
console.log('对象为空!');
} else {
console.log('对象不为空!');
}
}
2.2 使用ES6的方法Object.keys()方法结合length属性进行判断
Object.keys(obj)返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。
function isEmpty(obj) {
if (Object.keys(obj).length === 0) {
console.log('对象为空!');
} else {
console.log('对象不为空!');
}
}
3. 判断数组是否为空
可以通过length属性直接返回数组中的元素个数,若为零,则表示数组为空。
JavaScript中对象与数组的判断方法

博客介绍了JavaScript中判断变量类型和内容的方法。包括使用特定方法判断变量是对象还是数组;通过将对象转为JSON字符串或结合ES6方法判断对象是否为空;利用属性判断数组元素个数,若为零则数组为空。
6723

被折叠的 条评论
为什么被折叠?



