JS 数组方法
前言
看完了数组的视频,趁热整理一下
数组方法
这里简单的总结了forEach()
map()
filter()
some()
every()
,这些方法都存在 Array.prototype 原型中
forEach()
Array.prototype.forEach()
遍历数组,无返回值,不改变原数组,仅仅只是遍历
打印结果如下:
value :获取数组中当前元素的内容
index:获取当前元素的索引
array:获取整个数组
无返回值
实现各个元素相加
map()
Array.prototype.map()
方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。与 forEach()用法相似。
map 函数可以看成是一种映射函数,而且是一一映射
map 适合对一个数组中的每个元素进行相同的操作
实现所有元素数值*2
filter()
Array.prototype.filter()
方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
filter 函数可以看成是一个过滤函数,返回符合条件的元素的数组
filter 和 map 的区别:filter 需要在循环的时候判断一下是 true 还是 false,是 true 才会返回这个元素;map 没有这个过程。
filter 函数适合筛选一个数组中满足条件的元素,注意:filter 函数只是筛选功能,不能改变元素、操作元素
filter 为“过滤”。数组 filter 后,返回过滤后的新数组
根据字符长度筛选元素
根据数值筛选元素
some()
Array.prototype.some()
方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。
用来检测是否存在某个数据,存在返回 true,否则返回 false
判断元素是否存在
some() 只用来判断是否存在,一旦检测出存在元素,就会立即停止遍历,返回 true
every()
Array.prototype.every()
方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
判断所有元素是否满足条件
版权声明: 本文为 InfoQ 作者【bo】的原创文章。
原文链接:【http://xie.infoq.cn/article/480e918c221895a050776b012】。文章转载请联系作者。
评论