大前端前端开发那些事儿

数组(Array)<迭代器>

2022-04-26  本文已影响0人  冷r

一、Js数组迭代器方法

主要介绍js数组中的forEach,every,some,filter,map迭代器方法

二、介绍

forEach(currentValue,index,arr)

  1. 方法用于调用数组的每个元素,并将元素传递给回调函数。
  2. 没有返回值
  3. 不改变原数组
  4. 不会对空数组检测
var arr = [1, 2, 3, 4, 5];
var a = []
 arr.forEach(function (item) {
    if (item%2===0) {
        a.push(item);
    }
});
//a:[2,4]

map(currentValue,index,arr)

  1. 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
  2. 不改变原数组
  3. 不会对空数组检测
var arr = [1, 2, 3, 4, 5];
var a = arr.map(function (item) {
    if (item%2===0) {
        return item;
    }
});
//a: [undefined, 2, undefined, 4, undefined]

filter(currentValue,index,arr)

  1. 检测数值元素,并返回符合条件所有元素的数组。
  2. 不改变原数组
  3. 不会对空数组检测
var arr = [1, 2, 3, 4, 5];
var a = arr.filter(function (item) {
  return item%2===0
});
//a: [ 2, 4]

some(currentValue,index,arr)

  1. 检测数组元素中是否有元素符合指定条件。
  2. 方法会依次执行数组的每个元素:
    . - 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
    . - 如果没有满足条件的元素,则返回false。
  3. 不改变原数组
  4. 不会对空数组检测
var arr = [1, 2, 3, 4, 5];
var a = arr.some(function (item) {
  return item%2===0
});
//a:true

every(currentValue,index,arr)

  1. 检测数值元素的每个元素是否都符合条件。
  2. 方法使用指定函数检测数组中的所有元素:
    . - 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
    . - 如果所有元素都满足条件,则返回 true。
  3. 不改变原数组
  4. 不会对空数组检测
var arr = [1, 2, 3, 4, 5];
var a = arr.every(function (item) {
  return item%2===0
});
//a:false

三、参数说明

参数 描述
currentValue 必需。当前元素
index 可选。当前元素的索引值。
arr 可选。当前元素所属的数组对象。

四、其他参考

数组的基本方法
数组(Array)<迭代器>

上一篇下一篇

猜你喜欢

热点阅读