ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
28 lines (24 loc) • 666 B
JavaScript
;
var getTag = require('./internals/getTag.js');
var native = require('./internals/native.js');
var isArrayLike = require('./isArrayLike.js');
var isNil = require('./isNil.js');
var isObjectLike = require('./isObjectLike.js');
var allKeys = require('./allKeys.js');
function isEmpty(value) {
if (isNil(value)) {
return true;
}
var tag = getTag(value);
if (tag === native.mapTag || tag === native.setTag) {
return !value.size;
}
if (isObjectLike(value)) {
return !allKeys(value).length;
}
if (isArrayLike(value)) {
return !value.length;
}
return true;
}
module.exports = isEmpty;