数组遍历(迭代)方法

迭代(遍历)方法

我们了解以下5种遍历方法,分别是 forEach() 、map() 、filter() 、some() 、every()

forEach() 方法: forEach() 方法对数组的每个元素执行一次给定的函数。

var arr = [10,20,30];
arr.forEach(function(value,index,array){
    
    
	console.log('数组元素' + value);
    console.log('数组元素的索引号' + index);
    console.log('数组本身' + array);
})

被调用时,可依次向 callback (回调)函数传入三个参数:
1.数组当前项的值
2.数组当前项的索引(可选)
3.数组对象本身(可选)

结果展示
在这里插入图片描述
map()方法: map() 方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。

map()与forEach()方法的异同
map() 与 forEach()输出的结果是相同的,不过map()会分配内存空间存储新数组并返回,forEach()不会返回数据;forEach()允许callback更改原始数组的元素。

因为map生成一个新数组,当你不打算使用返回的新数组却使用map是违背设计初衷的,请用forEach或者for-of替代。

filter() 方法: filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

var arr=[12,33,5,88,2,4,5456,234];
var newArr = arr.filter(function(value,index,array){
    
    
    return value%2 === 0;
});
console.log(newArr);

被调用时,向 callback (回调)函数传入三个参数:
1.元素的值
2.元素的索引
3.被遍历的数组本身

结果展示
在这里插入图片描述
some()方法: some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
every()方法: every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

filter() 、some() 、every() 三个很相似,他们都是查找数组里面的元素是否符合回调函数的条件,不过 filter() 返回的是一个新数组,而some() 和 every() 返回的是一个Boolean类型的值。

猜你喜欢

转载自blog.csdn.net/qq_48439911/article/details/124283500