Array数组对象中的forEach、map、filter及reduce详析

yizhihongxing

Array数组对象中的forEach、map、filter及reduce详析

对于开发者而言,Array是非常常用的数据类型之一。在Array中,有四个方法:forEach、map、filter及reduce。下面我们将逐一深入剖析它们的用法及使用场景。

forEach

forEach方法的作用是:用于遍历数组中的每一个元素,并对其进行操作。语法如下:

array.forEach(callback(currentValue [, index [, array]])[, thisArg])

参数说明:

  • callback:为数组中每个元素执行的回调函数
  • currentValue:数组中正在处理的元素
  • index:当前元素在数组中的下标
  • array:数组本身
  • thisArg:当执行回调函数时,使用的 this 值。可选参数。

示例说明:

var numArr = [1, 2, 3, 4, 5];
numArr.forEach(function (num, index, arr) {
  console.log('第', index + 1, '个元素是', num, ',所属数组为', arr);
});

输出结果:

第 1 个元素是 1 ,所属数组为 [ 1, 2, 3, 4, 5 ]
第 2 个元素是 2 ,所属数组为 [ 1, 2, 3, 4, 5 ]
第 3 个元素是 3 ,所属数组为 [ 1, 2, 3, 4, 5 ]
第 4 个元素是 4 ,所属数组为 [ 1, 2, 3, 4, 5 ]
第 5 个元素是 5 ,所属数组为 [ 1, 2, 3, 4, 5 ]

map

map方法的作用是:将数组中的元素按照一定的规则转换,并生成一个新的数组。语法如下:

array.map(callback(currentValue [, index [, array]])[, thisArg])

参数说明:

  • callback:转换数组中每个元素的回调函数
  • currentValue:数组中正在处理的元素
  • index:当前元素在数组中的下标
  • array:数组本身
  • thisArg:当执行回调函数时,使用的 this 值。可选参数。

示例说明:

var numArr = [1, 2, 3, 4, 5];
var strsArr = numArr.map(function (num) {
  return '数字' + num;
});
console.log(strsArr);

输出结果:

[ '数字1', '数字2', '数字3', '数字4', '数字5' ]

filter

filter方法的作用是:从数组中筛选出符合条件的元素并生成一个新的数组。语法如下:

array.filter(callback(currentValue [, index [, array]])[, thisArg])

参数说明:

  • callback:对数组中每个元素进行测试的回调函数
  • currentValue:数组中正在处理的元素
  • index:当前元素在数组中的下标
  • array:数组本身
  • thisArg:当执行回调函数时,使用的 this 值。可选参数。

示例说明:

var numArr = [1, 2, 3, 4, 5];
var oddNums = numArr.filter(function (num) {
  return num % 2 !== 0;
});
console.log(oddNums);

输出结果:

[ 1, 3, 5 ]

reduce

reduce方法的作用是:对数组中的元素进行逐个操作,并将它们汇总成一个值。语法如下:

array.reduce(callback(accumulator, currentValue [, index [, array]])[, initialValue])

参数说明:

  • callback:作用在数组中每个元素上的回调函数
  • accumulator:回调函数的返回值,在下一次调用中作为上一次回调函数的结果使用
  • currentValue:数组中正在处理的元素
  • index:当前元素在数组中的下标
  • array:数组本身
  • initialValue:用作第一次调用callback函数时的第一个参数的值。可选。

示例说明:

var numArr = [1, 2, 3, 4, 5];
var sum = numArr.reduce(function (prev, curr) {
  return prev + curr;
});
console.log(sum); // 15

以上就是Array数组对象中的forEach、map、filter及reduce详析的完整攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Array数组对象中的forEach、map、filter及reduce详析 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • Asp.net 后台添加CSS、JS、Meta标签的方法

    下面是详细讲解”Asp.net后台添加CSS、JS、Meta标签的方法”的完整攻略。 添加CSS样式 在Asp.net中,我们可以在后台代码中通过以下方式添加CSS样式: protected void Page_Load(object sender, EventArgs e) { this.Page.Header.Controls.Add(new Liter…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript作用域和作用域链

    我来详细讲解一下“详解JavaScript作用域和作用域链”的完整攻略。

    JavaScript 2023年6月11日
    00
  • 一个JavaScript递归实现反转数组字符串的实例

    JavaScript递归实现反转数组字符串的实例 本攻略将提供如何使用JavaScript递归方法来反转字符串数组的详细步骤。反转字符串数组实现过程如下: 创建一个新函数 reverseArr 来实现反转字符串数组。 在 reverseArr 函数内, 检查当前数组中的第一个和最后一个元素,并交换它们的位置,以此反转数组。 接下来,使用递归将 reverse…

    JavaScript 2023年5月27日
    00
  • ES6中promise详解及用法实例

    ES6中promise详解及用法实例 什么是Promise Promise是一种异步编程解决方案,用于处理异步操作。它是ES6的新特性,旨在解决回调地狱的问题。Promise对象代表一个尚未完成,但预计在未来完成的异步操作。 Promise有三个状态:pending(等待中)、fulfilled(已完成)和rejected(已失败)。当Promise处于pe…

    JavaScript 2023年5月27日
    00
  • 原生JS实现循环Nodelist Dom列表的4种方式示例

    原生JS实现循环Nodelist Dom列表的4种方式示例的完整攻略如下: 1. 使用for循环遍历Nodelist 可以使用常规的for循环来遍历Nodelist。要遍历Nodelist的所有项,需要使用nodelist.length属性,并使用nodelist.item(index)方法来访问单个元素。 const nodeList = document…

    JavaScript 2023年6月10日
    00
  • JavaScript调试技巧之console.log()详解

    JavaScript调试技巧之console.log()详解 什么是console.log()? console.log()是JavaScript内置的一种调试技巧,它可以将指定的消息输出到浏览器的控制台(Console)上。其中“log”是“日志”的意思,所以console.log()可以理解为输出日志信息。 使用console.log()可以输出Java…

    JavaScript 2023年5月28日
    00
  • javascript让setInteval里的函数参数中的this指向特定的对象

    在JavaScript中,setInterval()方法可以用来按照指定的时间间隔执行一段函数或一段代码。但是在使用setInterval()的过程中,有时候需要把函数的作用域绑定到某个特定的对象上,以便访问对象的属性和方法。为了实现这个目的,可以使用Function.prototype.bind()方法来将函数的作用域绑定到指定的对象上。 下面是使用Fun…

    JavaScript 2023年6月10日
    00
  • jquery.validate使用攻略 第二部

    我来详细讲解一下 “jquery.validate使用攻略 第二部”的完整攻略,步骤如下: 一、准备工作 下载 jquery.validate.js 插件,并引入到项目中。 引入依赖的库文件,如 jquery 库文件。 二、基本使用 引入 jquery.validate.js 插件后,在需要验证的表单元素上添加验证规则,如下: “`html “` jav…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部