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

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日

相关文章

  • JS判断元素是否存在数组中的5种方式总结

    下面是关于“JS判断元素是否存在数组中的5种方式总结”的详细讲解攻略: 1. 使用indexOf方法 indexOf()方法是用来查找一个元素在数组中第一次出现的位置。如果该元素存在,indexOf()方法会返回该元素在数组中的索引值,否则会返回-1。 下面是一个使用indexOf()方法来判断数组中是否包含某个元素的示例: const arr = [1, …

    JavaScript 2023年5月27日
    00
  • javascript中全局对象的parseInt()方法使用介绍

    关于 JavaScript 的全局对象之一,parseInt() 方法是很常用的,现在我来具体介绍一下它的使用。 什么是 parseInt() 方法 在 JavaScript 中,parseInt() 方法是一种解析字符串并返回整数的全局方法。它的常用形式为 parseInt(string, radix),其中 string 是被解析的字符串,radix 是…

    JavaScript 2023年5月27日
    00
  • javascript稀疏数组(sparse array)和密集数组用法分析

    JavaScript稀疏数组(sparse array)和密集数组用法分析 在JavaScript中,数组是一种非常常见的数据类型。根据存储方式的不同,数组可以分为密集数组和稀疏数组。本文将详细讲解JavaScript中稀疏数组和密集数组的用法和注意事项。 密集数组 密集数组是指数组中连续存储的元素,也就是我们平常所见到的大多数数组。如下面的例子: var …

    JavaScript 2023年5月27日
    00
  • JS中强制类型转换的实现

    JS中强制类型转换的实现是通过一组内置函数来完成的,这些函数会将一个数据类型转换为另一种数据类型。通常情况下,JS会自动进行隐式类型转换,但是有些情况下我们需要手动进行强制类型转换。 强制类型转换的相关函数如下: parseInt():将字符串转换为整数。 parseFloat():将字符串转换为浮点数。 String():将其他类型的值转换为字符串。 Bo…

    JavaScript 2023年5月28日
    00
  • JS碰撞运动实现方法详解

    JS碰撞运动实现方法详解 什么是JS碰撞运动? JS碰撞运动是指在HTML页面中通过JavaScript代码实现物体自由运动的效果,并且当这些物体相互碰撞时,它们之间会产生一定的相互作用和反应的效果。 JS碰撞运动在游戏开发、动画制作、交互界面设计等方面有着广泛的应用,是Web开发中一个非常重要的技术。 实现方法 JS碰撞运动的实现,可以分为三个步骤:自由运…

    JavaScript 2023年5月28日
    00
  • 使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法

    在使用ActiveXObject对象检测应用程序是否安装之前,需要确保有需要检测的应用程序的Class ID或者ProgID。这些信息可以在应用程序的安装文件中或者官方文档中找到。 接下来是具体的攻略: 1. 创建ActiveXObject对象 使用JavaScript的 ActiveXObject 对象来检测是否安装了需要的应用程序。例如,如果要检查是否安…

    JavaScript 2023年5月27日
    00
  • JavaScript深拷贝与浅拷贝实现详解

    JavaScript深拷贝与浅拷贝实现详解 什么是拷贝? 在JavaScript中,我们经常需要将对象或者数组进行复制操作,这被称为拷贝。在拷贝过程中,我们需要注意两个概念:浅拷贝和深拷贝。 什么是浅拷贝? 浅拷贝仅仅是复制了对象或数组的引用,而并没有克隆对象或数组。也就是说,对于被拷贝的对象或数组,它们的属性仍然指向原对象或数组中的属性。浅拷贝通常使用的方…

    JavaScript 2023年6月10日
    00
  • jQuery插件slicebox实现3D动画图片轮播切换特效

    针对“jQuery插件slicebox实现3D动画图片轮播切换特效”的攻略,我们可以按照以下步骤来进行: 一、引入slicebox插件 在实现3D动画图片轮播切换特效前,首先需要引入slicebox插件及其相关资源文件。可以通过在HTML中引入以下内容来实现: <link rel="stylesheet" href="pa…

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