遍历数组 forEach 方法
forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。
forEach 就是遍历加强版的for循环, 适合于遍历数组对象
被遍历的数组.forEach(function(当前数组元素,当前元素索引号){
// 函数体
})
注意:
1.forEach 主要是遍历数组
2.参数当前数组元素是必须要写的, 索引号可选。
遍历数组中map方法
迭代数组
- 使用场景:
map可以遍历数组处理数据,并且返回新的数组。
map也称为映射:映射是个术语,指两个元素的集之间元素相互“对应”的关系。
map重点在于有返回值,forEach没有返回值
const arr = ['red', 'blue', 'green']
const newarr = arr.map(function (ele, index) {
console.log(ele)//数组元素
console.log(index)//索引号
return ele + '颜色'
})
map和forEach对比
map有返回值,forEach没有
转换字符串数组中join方法
- 作用:
join()方法用于把数组中的所有元素转换一个字符串
- 语法:
console.log(newarr.join(''));//没有分割符
console.log(newarr.join());//分割符是逗号
console.log(newarr.join(' || '));
- 参数:
数组元素是通过参数里面指定的分隔符进行分隔
的,空字符串(" "),则所有元素之间都没有任何字符。
筛选数组 filter 方法(重点)
filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
主要使用场景:筛选数组符合条件的元素,并返回筛选之后元素的新数组。
语法:
被遍历的数组.filter(function(currentValue,index){
return 筛选条件
})
更简洁的语法(箭头函数):
const arrresult = arr.filter(item => item >= 20)
//或者
const arr=goodlist.filter(item=>{ item.price > 0 && item.price <= 100}
与map对比
- 都有返回值
- map用+号,不能用>, =, <。
- forEach只能用>,=,<,不能用+。
例如:
筛选数组中大于30的元素
const score=[10,50,3,40,33]
const re = score.filter(function(item){
return item >30
})
console.log(re)//[50,40,33]