学习数组迭代 | 遍历

<一个幼儿园小班的前端的成长随笔,错误与不足之处,望各位大牛批评指点,谢谢!>

常见数组迭代方法:

map / filter / forEach / every / some

  1. map 返回 每次函数调用返回的结果 组成的数组

  2. filter 返回 该函数 会返回true的项 组成的数组

  3. forEach 无返回值 ES5的方法

  4. every 数组所有项都返回true 则返回true,类似&& 一旦有一个不符合条件,则停止迭代

  5. some 函数对数组里面有一项返回true 则返回true,类似|| 不停的迭代找符合条件的值,一旦找到,则停止迭代


代码演示:

var arr = [1,2,3,4,5];
  console.log(arr.map((item,index,arr)=>{
    console.log('map: ', item, index ,arr);
    return item>2
  }));
  1. // 返回[false,false,true,true,true]
  ​
  console.log(arr.filter(function(item,index,arr){ console.log('filter: ', item,index,arr); return item>2; })); 2. // 返回 [3,4,5]  ​ console.log(arr.forEach(function(item,index,arr){ console.log('foreach: ', item,index,arr); return item>2; })); 3. // forEach无返回值  ​ console.log(arr.every((item,index,arr) => { console.log('every: ', item, index, arr); return item>2; })); 4. // 返回false, 打印一遍every:  ​ console.log(arr.some((item, index, arr) => { console.log('some: ', item, index, arr); return item>2; })); 5. // 返回true,打印3遍some:


> demo1: forEach
arr.forEach(function(value, index) {
//参数一是:数组元素
//参数二是:数组元素的索引 
})
//相当于数组遍历的 for循环 没有返回值

/*-------------------------------------------------*/
// forEach 
// 1. E字母是大写的
var arr = ['a', 'b', 'c'];
// 语法: 数组名.forEach(回调函数)
arr.forEach(function(value) {
console.log(value);
});

// 2. 数组元素的值是第一个参数, 数组的下标是第二个参数
arr.forEach(function(v, i) {
console.log('第' + i + '个元素的值是' + v); })
> demo2: filter
var arr = [12, 66, 4, 88, 3, 7];
var newArr = arr.filter(function(value, index) {
//参数一是:数组元素
//参数二是:数组元素的索引
return value >= 20;
});
console.log(newArr);//[66,88] //返回值是一个新数组
> demo3: some 
// some 查找数组中是否有满足条件的元素 
var arr = [10, 30, 4];
var flag = arr.some(function(value,index) {
//参数一是:数组元素
//参数二是:数组元素的索引
return value < 3;
});
console.log(flag);//返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环

 

 

猜你喜欢

转载自www.cnblogs.com/carrot-cc/p/11106818.html