JS遍历数组的几种API,JS判断数据类型的几种方法

476 阅读2分钟

JS 遍历数组API

forEach(value,index,array){callback}

  • 参数

    value: 当前正在遍历的对象的值

    index: 当前正在遍历的对象的索引

    array: 当前正在遍历的数组

  • 缺点, 无法中途跳出循环, break或return命令均不奏效

map(callback(val){})

  • 参数

    val: 当前遍历的对象的值

    callback: 对这个值进行操作的回调函数

    return: 返回操作之后的新数组,原数组不变

filter(callback(val){})

顾名思义,筛选, 将符合条件的数组元素筛选出来

  • 参数

    val: 当前遍历的对象的值

    callback: 我们需要的筛选条件

    return: 将数组里满足条件的元素,以新数组的方式返回,原数组不变

some(callback(val){})

  • 参数

    val: 当前遍历的对象的值

    callback: 我们需要的查询条件

    return: 只要找到一个符合条件的元素,就返回一个布尔值

every(callback(val){})

  • 参数

    val: 当前遍历的对象的值

    callback: 我们需要的查询条件

    return: 如果所有元素都符合条件(不符合条件),返回一个布尔值

find(callback(val){})

  • 参数

    val: 当前遍历的对象的值

    callback: 我们需要的查询条件

    return: 返回第一个符合条件的元素的值,如果所有元素都不符合条件,则返回undefined

findIndex(callback(val){})

  • 参数

    val: 当前遍历的对象的值

    callback: 我们需要的查询条件

    return: 返回第一个符合条件的元素的索引,如果所有元素都不符合条件,则返回undefined

JS判断数据类型的三种方法

基本类型:string,number,boolean

特殊类型:undefined,null

引用类型:Object,Function,Function,Array,Date,...

typeof

  • typeof 返回一个表示数据类型的字符串,返回结果包括:number、boolean、string、object、undefined、function等6种数据类型
  • 如果是判断一个基本的类型用typeof就是可以的。
  • typeof 可以对JS基础数据类型做出准确的判断,而对于引用类型返回的基本上都是object, 其实返回object也没有错,因为所有对象的原型链最终都指向了Object,Object是所有对象的祖宗。 如果判断的是引用类型的话,typeof 就显得有些力不从心了。

instanceof

  • instanceof 是用来判断 A 是否为 B 的实例对,表达式为:A instanceof B,如果A是B的实例,则返回true,否则返回false。 在这里需要特别注意的是:instanceof检测的是原型

Object.prototype.toString

  • toString是Object原型对象上的一个方法,该方法默认返回其调用者的具体类型,更严格的讲,是 toString运行时this指向的对象类型, 返回的类型格式为[object,xxx],xxx是具体的数据类型,其中包括:String,Number,Boolean,Undefined,Null,Function,Date,Array,RegExp,Error,HTMLDocument,... 基本上所有对象的类型都可以通过这个方法获取到。
Object.prototype.toString.call([]) // "[object Array]"