[生态建设] -ag凯发k8国际
ag凯发k8国际
收集整理的这篇文章主要介绍了
[生态建设] - js判断小技巧
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
0、参考
说明: 从几个易得的点出发,逐步向外扩展延申,保证代码的可靠性
1、判断是否为某个类型
// 判断是否为 null const isnull = o => {return o === null; };// 判断是否为 undefined const isundefined = o => {return o === undefined; };// 判断是否为 null or undefined const isnil = o => {return isnull(o) || isundefined(o); };// 判断是否为 string const isstring = o => {return !isnil(o) && (typeof o === 'string' || o instanceof string); };// 判断是否为 number const isnumber = o => {return !isnil(o) // 不为 null or undefined&& ((!isnan(o) && isfinite(o)&& typeof o === 'number') || o instanceof number); };// 判断是否为 boolean const isboolean = o => {return !isnil(o) && (typeof o === 'boolean' || o instanceof boolean); };// 判断是否为 array const isarray = o => {return !isnil(o) && array.isarray(o); }// 判断是否为 object const isobject = o => {return ({}).tostring.call(o) === '[object object]'; }// 判断 o 为 o 的实例 const istype = (o, o) => {return !isnil(o) && o instanceof o; }// 判断是否为 set const isset = o => {return istype(o, set); }// 判断是否为 map const ismap = o => {return istype(o, map); }// 判断是否为 date const isdate = o => {return istype(o, date); }2、判断是否为空
数字和字符串可以使用o.length === 0来判断,set和map型使用o.size === 0,object类型使用object.keys(o).length === 0来判断,具体如下:
// 判断是否为空 const isempty = o => {if (isarray(o) || isstring(o)) {return o.length === 0;}if (isset(o) || ismap(o)) {return o.size === 0;}if (isobject(o)) {return object.keys(o).length === 0;}return false; }3、获取第i个元素
主要是list、map、set类型
// 获取列表的第i项 const getxitem = (i, list) => {if (!isarray(list) || !isset(list) || !ismap(list)) {return undefined;}if (isarray(list)) {return list.slice(i)[0] || undefined;}if (isset(list)) {return array.from(list).slice(i)[0] || undefined;}if (ismap(list)) {return array.from(list.value()).slice(i)[0] || undefined;} }// 获取列表的最后一项 const getlastitem = list => {return getxitem(-1, list); }总结
以上是ag凯发k8国际为你收集整理的[生态建设] - js判断小技巧的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: