整理了一些 array 的 容易用混的 方法,方便以后查找
Array.indexOf 返回第一次出现给定元素的索引
如果我们稍后要在代码中使用这个返回的索引,那么使用 Array.indexOf 找到索引就对了。
Array.includes 返回数组是否包含某个值 (true, false)
Array.filter 接受一个回调函数作为参数 使用这个方法来过滤元素,获得更短的数组
Array.find 接受一个回调函数作为参数并返回满足回调函数的第一个元素的值
只要找到第一个满足回调函数的元素,Array.find 就会停止,无需遍历整个数组
Array.findIndex 会返回第一个满足条件的索引,没有找到都会返回-1
Array.some 返回布尔值(只要一个满足条件就返回真,一真即真 )
表示我们只想知道某个元素是否存在,而不需要得到这个元素
Array.every 返回布尔值(每一个都要满足条件,一假即假) 表示
我们只想知道某个元素是否存在,而不需要得到这个元素
Array.reduce 代替 Array.filter + Array.map
之前会使用Array.filter 和 Array.map 的组合,问题是会遍历两次
现在 使用 Array.reduce 进行过滤,并将目标元素添加到累加器中。
累加器可以是递增的数字、要填充的对象、要连接的字符串或数组。
上一个小例子
var array = [1,2,3,4,5].reduce(function(a,b){return a.concat(b);},[]);
array => [1, 2, 3, 4, 5]
Array.map 得到一个新数组,需要用return将操作后的数组返回