js中处理数组的函数有很多。这篇文章做下简单的整理。
过滤函数
filter()
filter()
方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
语法
1 | array.filter(function(currentValue,index,arr), thisValue) |
参数
function : (string|regex) [require]
- 必须。函数,数组中的每个元素都会执行这个函数。
这个函数可传三个参数:
- currentValue :
(*) [require]
- 当前元素的值。 - index :
(int) [optional]
- 当前元素的索引。 - arr :
(array) [require]
- 当前元素属于的数组对象。
thisValue : (*) [optional]
- 回调时传递给函数,用作 “this” 的值。
返回值
返回一个新的数组。
例子
利用 filter 遍历出所有偶数:
1 | let arr = [56, 15, 48, 3, 7]; |
利用 filter 进行数组去重:
1 | function unique(arr) { |
利用 filter 过滤空值
1 | let arr = [1, 0, '' , 'a', null, '张三'] |
array.filter(Boolean)
等价于 array.filter((item) => {return Boolean(item)})
。也就是说这样写的意思就是去除数组中为“假”的元素。0, undefined, null, NaN, '', false
数组的切割和添加
shift()
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法
1 | array.shift() |
返回值
返回删除的元素