JavaScript之检测数组或对象是否存在空值toLowerCasecallslicesplitstringifyindexOfprototypetoString
Posted web半晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之检测数组或对象是否存在空值toLowerCasecallslicesplitstringifyindexOfprototypetoString相关的知识,希望对你有一定的参考价值。
class IsType
constructor(type)
type = type || '';
this.type = type.toLowerCase();
checkType(obj)
let val = Object.prototype.toString.call(obj);
val = val.slice(1, val.length - 1);
val = val.split(' ')[1];
val = val.toLowerCase();
return val === this.type;
matchString(obj)
let toStr = JSON.stringify(obj);
return toStr.indexOf('') !== -1 || toStr.indexOf('[]') !== -1;
rationality(obj)
if (this.checkType(obj) && !this.matchString(obj) && Object.keys(obj).length > 0)
return true;
else if (this.checkType(obj) && !this.matchString(obj) && obj.length > 0)
return true;
else
return false;
let a = new IsType('Array'),
o = new IsType('object');
console.log(a.rationality());
// false
console.log(a.rationality([7]));
// true
console.log(a.rationality([7, []]));
// false
console.log(o.rationality( id: 2, list: [6], l: [9] ));
// true
console.log(o.rationality( id: 2, list: [6], l: [] ));
// false
以上是关于JavaScript之检测数组或对象是否存在空值toLowerCasecallslicesplitstringifyindexOfprototypetoString的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript之清除数组空值项包括空数组空对象isArraystringifypushcontinuelength