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]"