欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程资源 > 编程问答 >内容正文

编程问答

[生态建设] -ag凯发k8国际

发布时间:2023/12/10 编程问答 20 豆豆
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判断小技巧的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图