-
typeof 主要用来判断基本数据类型。 字符串,数字,布尔
-
Instanceof: 要判断的数据 instanceof 构造原型
最准确的判断数据类型的方法,Object.prototype.toString.call(数据)
数组常用方法:
1. Join: array.join(‘符号’). 把数组转为字符串,不改变原数组
2. split: string.split(‘符号’) 方法用于把一个字符串分割成字符串数组。 不改变原始字符串。
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
- slice : 截取/删除数组,不更改原数组
Array.slice(‘开始截取的数组下标’,‘结束截取的数组下标,并且不包含’)
- concat: 数组拼接 array1.concat(arr2); 不更改原数组,返回拼接后的新数组
5. unshift: array.unshift(参数), 把参数添加到数组头部,改变原数组,此方法返回最新的数组长度为数字
6. shift: 删除数组头部一个元素,改变原数组,此方法返回删除的那个元素
7. reverse: 反转数组,更改原数组
8. sort : 排序 sort((a,b) => { return a-b})
默认 a<b
Return 数字 (<0 升序; >0 降序)
更改原数组,返回当前更改数组
9. pop: 删除数组尾部一个元素,改变原数组, 此方法返回删除的那个元素
10. splice: 截取/ 删除数组。 3个参数,都是非必填的
array.splice(‘截取的开始下标’,’截取的长度’,’填充替换的数组’)
更改原数组,返回删除的数据数组。
- push: array.push(参数), 把参数添加到数据尾部,改变原数组,此方法返回最新的数组长度为数字
遍历数组的方法:
1. forEach: 为数组里面每一项进行操作。没有返回值
2. Map 为数组里面每一项进行操作,并返回一个新数组。 有return
3. filter : 循环过滤符合条件的数组,返回一个新数组。 Return true 的时候该元素被返回
4. find : 查找符合条件的元素返回,只会返回符合条件的第一个。return true的时候该元素被返回,如果没有符合条件的元素,则返回undefined
注意: find() 对于空数组,函数是不会执行的。find() 并没有改变数组的原始值。
5. findIndex : 查找符合条件的元素返回,只会返回符合条件的第一个元素位置。return true的时候该元素被返回下标。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
- 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
- 如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。findIndex() 并没有改变数组的原始值。
- some : 方法用于检测数组中的元素是否满足指定条件。 有真则真,返回布尔
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。 some() 不会改变原始数组。
- every : 有假则假,返回布尔
every() 方法用于检测数组所有元素是否都符合指定条件。
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。 every() 不会改变原始数组。
- reduce: 遍历 ,是数组的归并方法,与 forEach()、map()、filter()等迭代方法一样都会对数组每一项进行遍历,但是reduce() 可同时将前面数组项遍历产生的结果与当前遍历项进行运算,这一点是其他迭代方法无法企及的。