forEach() ,map(),some(), every()使用方法和区别

forEach()

遍历数组全部元素,利用回调函数对数组进行操作,自动遍历整个数组,且无法break中途跳出循环,不可控,不支持return操作输出,return只用于控制循环是否跳出当前循环。

回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身

  var ary = [12,23,24,42,1];  
var res = ary.forEach(function (item,index,input) {  
       input[index] = item*10;  
})  
console.log(res);//--> undefined;  没有返回值
console.log(ary);//--> 通过数组索引改变了原数组;  

在这里插入图片描述

  1. forEach() 对于空数组是不会执行回调函数的
  2. forEach() 需要用 return 跳过循环中的一个迭代,跳过之后会执行下一个迭代。
    在这里插入图片描述
  3. 这个方法是没有返回值的,仅仅是遍历数组中的每一项,不对原来数组进行修改;

map()

  1. map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
  2. map() 方法按照原始数组元素顺序依次处理元素。
var data = [1, 2, 3, 4];
 
var arrayOfSquares = data.map(function (item) { //接收新数组
  return item * item;
});
 
alert(arrayOfSquares); // [1, 4, 9, 16]

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

some() 和 every()

every()与some()方法都是JS中数组的迭代方法, 只返回布尔值。

every()

判断数组中是否每个元素都满足条件
只有都满足条件才返回true;
只要有一个不满足就返回false;

some()

判断数组中是否至少有一个元素满足条件
只要有一个满足就返回true
只有都不满足时才返回false
// 判断数组arr1是否全是偶数
// 判断数组arr2是否至少有一个偶数

var arr1=[1, 2, 3, 4, 5];
var arr2=[1, 4, 6, 8, 10];
console.log(
    arr1.every(function(value, index, array){
        return value % 2 == 0;
    })
);    // false
console.log(
    arr2.some(function(value, index, array){
        return value % 2 == 0;
    })
);    // true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值