var QM = (function() {
/**
* 检测错误数据
* @author qingming
*/
var dataResult;
var exports = {};
function stringDetect(str) {
//console.log('str',str);
var errorData = ['null', 'false', 'error', '0', 'undefined', 'NaN', '[]', '{}', ''];
for (var i = 0; i < errorData.length; i++) {
if (str === errorData[i]) {
return false;
}
}
return str;
//不考虑兼容性的简洁写法
//return errorData.some(e => e === str) ? false : str;
}
function objectDetect(obj) {
//console.log('obj',obj);
if (obj === null || (obj instanceof Array && obj.length === 0) || (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0)) {
return false;
} else {
return obj;
}
}
exports.error_detect = function(data) {
//console.log('in',data);
switch (typeof data) {
case 'string':
dataResult = stringDetect(data);
break;
case 'object':
dataResult = objectDetect(data);
break;
default:
dataResult = data;
}
return dataResult;
}
return exports;
})();
// console.log(QM.error_detect('xxyy'));
// console.log(QM.error_detect('null'));
// console.log(QM.error_detect('0'));
// console.log(QM.error_detect('false'));
// console.log(QM.error_detect('error'));
// console.log(QM.error_detect(null));
// console.log(QM.error_detect([]));
// console.log(QM.error_detect({}));
// console.log(QM.error_detect([0, 1, 2]));
// console.log(QM.error_detect({'you': 'de',hao: 'de'}));
// console.log(QM.error_detect(NaN));
// console.log(QM.error_detect(false));
// console.log(QM.error_detect(0));