function type(obj) {
return Object.prototype.toString.call(obj).replace(/\[object\s|\]/g, "");
}
function isArray(list) {
return type(list) === "Array";
}
function isObject(obj) {
return type(obj) === "Object";
}
function isString(str) {
return type(str) === "String";
}
function isNotEmptyObj(obj) {
return isObject(obj) && JSON.stringify(obj) != "{}";
}
function objForEach(obj, fn) {
isNotEmptyObj(obj) && Object.keys(obj).forEach(fn);
}
function aryForEach(ary, fn) {
ary.length && ary.forEach(fn);
}
function setAttr(node, key, value) {
switch (key) {
case "style":
node.style.cssText = value;
break;
case "value":
var tagName = node.tagName || "";
tagName = tagName.toLowerCase();
if (tagName === "input" || tagName === "textarea") {
node.value = value;
} else {
// if it is not a input or textarea, use `setAttribute` to set
node.setAttribute(key, value);
}
break;
default:
node.setAttribute(key, value);
break;
}
}
function toArray(data) {
if (!data) {
return [];
}
const ary = [];
aryForEach(data, item => {
ary.push(item);
});
return ary;
}
export {
isArray,
isObject,
isString,
isNotEmptyObj,
objForEach,
aryForEach,
setAttr,
toArray
};
基础工具函数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前端开发中,有一个重要的技能,叫做断点调试。 利用chrome开发者工具中的断点调试,我们能够一步步观察JavaS...
- 1. 背景 本节学习 camunda 工作流引擎。 2.知识 camunda 是一款开源的工作流引擎,支持随时随地...
- 版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/2c986...