实现一个类型判断函数,需要鉴别出基本类型、function、null、NaN、数组、对象?

只需要鉴别这些类型那么使用typeof即可,要鉴别null先判断双等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用isNaN判断是否为NaN,(需要注意的是NaN并不是JavaScript数据类型,而是一种特殊值)代码如下:

        function type(ele) {

            if (ele === null) {

                return null;

            } else if (typeof ele === ‘object‘) {

                if (Array.isArray(ele)) {

                    return ‘array‘;

                } else {

                    return typeof ele;

                }

            } else if (typeof ele === ‘number‘) {

                if (isNaN(ele)) {

                    return NaN;

                } else {

                    return typeof ele;

                }
            } else {

                return typeof ele;

            }
        }
时间: 2024-08-07 05:47:35

实现一个类型判断函数,需要鉴别出基本类型、function、null、NaN、数组、对象?的相关文章

PHP常用类型判断函数

1.gettype():获取变量类型 2.is_array():判断变量类型是否为数组类型 3.is_double():判断变量类型是否为倍浮点类型 4.is_float():判断变量类型是否为浮点类型 5.is_int():判断变量类型是否为整数类型 6.is_integer():判断变量类型是否为长整数类型 7.is_long():判断变量类型是否为长整数类型 8.is_object():判断变量类型是否为对象类型 9.is_real(): 判断变量类型是否为实数类型 10.is_strin

第十八天- 类型判断 函数和方法判断 反射

# isinstance type issubclass 内置函数: # 1.issubclass() 这个内置函数可判断xxx类是否是yyy类型的子类# issubclass(子类,父类) 1 class Base: 2 pass 3 4 class Foo(Base): 5 pass 6 7 class Bar(Foo): 8 pass 9 10 print(issubclass(Bar,Foo)) # True 11 print(issubclass(Foo,Bar)) # False 1

JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outils 的基础上,加上个人平时收集的代码片段进行的二次整合 Browser Support 7+ ? Latest ? Latest ? Latest ? Latest ? 6.1+ ? Installing npm install bes-jstools --save Using nodejs con

SparkSQL自定义无类型聚合函数

准备数据: Michael,3000 Andy,4500 Justin,3500 Betral,4000 一.定义自定义无类型聚合函数 想要自定义无类型聚合函数,那必须得继承org.spark.sql.expressions.UserDefinedAggregateFunction,然后重写父类得抽象变量和成员方法. package com.cjs import org.apache.spark.sql.Row import org.apache.spark.sql.expressions.{M

使用函数指针,完成一个sort()函数,能对任何类型的数组元素进行排序: 回调函数 以及 memcpy ()原型实现

进来复习了一下C语言指针,一直没有写过太多关于函数指针的代码,而且对回调函数的理解一直都是在理论上,基本上没有太写过关于它的代码,进来得空,写了一个小程序加深下自己对回调函数和函数指针的理解. 问题描述: 编写一个sort()函数,使它能够对任何类型的数组元素进行排序. 下面是我写的代码: /* 使用函数指针的回调函数技巧,设计一个能排序int 和char 数组的sort()函数 */ #include<stdio.h> #include<stdlib.h> #include<

【源码】用1,2,2,3,4,5这六个数字,写一个函数,打印出所有不同的排序,要求:4不能放在第三位,3与5不能相连(C语言实现)

帮朋友做的,好像是一个面试题.暴力方式. #include <stdio.h> #include <stdlib.h> #include <string.h> //判断这个数是不是由1.2.2.3.4.5几位数字组成 int func(int n) { int a[5] = {0}; for(int i = 0; i < 6; i++) { int bit = n % 10; n /= 10; switch(bit) { case 1: a[0]++; break

stl 之 next_permutation 求出一个排序的下一个排列的函数 转载

这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm>下面是以前的笔记    与之完全相反的函数还有prev_permutation  (1) int 类型的next_permutation int main(){ int a[3];a[0]=1;a[1]=2;a[2]=3; do{cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<

设计一个函数,找出整型数组元素的最大值

/* 设计一个函数,找出整型数组元素的最大值 */ #include <stdio.h> int maxOfArray(int array[], int length) { // 数组当做函数参数传递时,会当做指针变量来使用,指针变量在64bit编译器环境下,占据8个字节 //int size = sizeof(array); //printf("array=%d\n", size); //sizeof(array); // 1.定义一个变量存储最大值(默认就是首元素) i

#定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型。其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数)。

1 #定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型.其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数). 2 def get_num(num): 3 if type(num)!= list: 4 return '您传入的不是列表!' 5 else: 6 for i in num: 7 if not isinstance(i,int): 8 return '请全部传入整数!' 9 return list(filter(lambda x:x