5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例

5个数组Array方法:indexOf、filter、forEach、map、reduce使用实例

一、介绍

数组是JavaScript中最常用的数据类型之一。使用数组的时候,我们经常需要使用到一些方法对数组进行操作,比如获取某个元素的下标、筛选元素、遍历元素、处理元素等等。本篇攻略将详细讲解五个数组Array方法:indexOf、filter、forEach、map、reduce,并提供实例说明,帮助大家更好了解和熟练掌握这些方法的使用。

二、indexOf

indexOf方法用于获取指定元素在数组中的下标。如果数组中存在该元素,则返回该元素的下标;如果不存在,则返回-1。该方法有如下语法:

array.indexOf(searchElement[, fromIndex])

其中,searchElement为要搜索的元素,fromIndex为可选参数,表示搜索的起始下标,默认值为0。

示例一:查找指定元素在数组中的下标

const arr = ['apple', 'banana', 'orange', 'grape', 'watermelon'];
const index = arr.indexOf('orange');

console.log(index); // 2

示例二:查找指定元素在数组中是否存在

const arr = ['apple', 'banana', 'orange', 'grape', 'watermelon'];
const index = arr.indexOf('kiwi');

if (index === -1) {
  console.log('该元素不存在');
} else {
  console.log('该元素下标为:', index);
}

三、filter

filter方法用于筛选符合条件的元素并返回一个新数组。它的语法如下:

const newArray = array.filter(callback(element[, index[, array]])[, thisArg])

其中,callback为用于测试每个元素的函数,element为当前被测试的元素,index为可选参数,表示当前元素在数组中的下标,array为可选参数,表示原数组。这个函数返回一个布尔值,表示是否保留该元素。thisArg为可选参数,表示执行回调函数时的this值,默认为undefined。

示例一:筛选数组中所有偶数

const arr = [1, 2, 3, 4, 5, 6];
const newArr = arr.filter(function(item) {
  return item % 2 === 0;
});

console.log(newArr); // [2, 4, 6]

示例二:筛选对象数组中符合条件的元素

const arr = [
  { name: 'Apple', price: 5 },
  { name: 'Banana', price: 3 },
  { name: 'Orange', price: 2 },
  { name: 'Grape', price: 4 },
  { name: 'Watermelon', price: 6 }
];
const newArr = arr.filter(function(item) {
  return item.price > 4;
});

console.log(newArr); // [{ name: 'Apple', price: 5 }, { name: 'Watermelon', price: 6 }]

四、forEach

forEach方法用于遍历数组。它的语法如下:

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

其中,callback为遍历数组时执行的回调函数,currentValue表示当前遍历的数组元素,index表示当前元素在数组中的下标,array表示原数组。这个函数没有返回值。thisArg同样为可选参数,表示执行回调函数时的this值,默认为undefined。

示例一:遍历输出数组中的元素

const arr = ['apple', 'banana', 'orange', 'grape', 'watermelon'];
arr.forEach(function(item, index) {
  console.log(index + ': ' + item);
});

示例二:使用箭头函数遍历输出数组中的元素

const arr = ['apple', 'banana', 'orange', 'grape', 'watermelon'];
arr.forEach((item, index) => {
  console.log(index + ': ' + item);
});

五、map

map方法用于对数组中的每个元素进行处理并返回一个新的数组。它的语法如下:

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

其中,callback为用于处理每个元素的函数,currentValue表示待处理的当前元素,index表示当前元素在数组中的下标,array表示原数组。这个函数返回一个新的数组。thisArg同样为可选参数,表示执行回调函数时的this值,默认为undefined。

示例一:将数组中的元素全部转为大写

const arr = ['apple', 'banana', 'orange', 'grape', 'watermelon'];
const newArr = arr.map(function(item) {
  return item.toUpperCase();
});

console.log(newArr); // ['APPLE', 'BANANA', 'ORANGE', 'GRAPE', 'WATERMELON']

示例二:将对象数组中某个属性提取出来组成一个新数组

const arr = [
  { name: 'Apple', price: 5 },
  { name: 'Banana', price: 3 },
  { name: 'Orange', price: 2 },
  { name: 'Grape', price: 4 },
  { name: 'Watermelon', price: 6 }
];
const newArr = arr.map(function(item) {
  return item.name;
});

console.log(newArr); // ['Apple', 'Banana', 'Orange', 'Grape', 'Watermelon']

六、reduce

reduce方法用于对数组中的每个元素进行累加或累乘等操作,最终返回一个值。它的语法如下:

array.reduce(callback[, initialValue])

其中,callback为累加器函数,initialValue为可选参数,表示初始值。累加器函数接受四个参数:accumulator表示累加器的累计值,currentValue表示当前遍历的元素,index表示当前元素在数组中的下标,array表示原数组。函数返回值为累计值。初始值默认为数组的第一个元素。

示例一:对数组元素进行累加

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(accumulator, currentValue) {
  return accumulator + currentValue;
});

console.log(sum); // 15

示例二:统计对象数组中某属性值的总和

const arr = [
  { name: 'Apple', price: 5 },
  { name: 'Banana', price: 3 },
  { name: 'Orange', price: 2 },
  { name: 'Grape', price: 4 },
  { name: 'Watermelon', price: 6 }
];
const priceSum = arr.reduce(function(accumulator, currentValue) {
  return accumulator + currentValue.price;
}, 0);

console.log(priceSum); // 20

以上就是五个数组Array方法:indexOf、filter、forEach、map、reduce使用实例的完整攻略。通过以上示例,希望读者能够更好地理解和掌握这些数组方法的使用,从而提高开发效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Javascript验证用户输入URL地址是否为空及格式是否正确

    关于JavaScript验证用户输入URL地址是否为空及格式是否正确的攻略,可以按照以下步骤实现: 步骤一:获取用户输入的URL地址 获取用户输入的URL地址。可以使用document.getElementById()或document.querySelector()等方法获取用户输入的URL地址。 const urlInput = document.get…

    JavaScript 2023年6月10日
    00
  • js利用正则表达式检验输入内容是否为网址

    确保输入内容为网址是 Web 开发中常见的任务之一。正则表达式是一种强大的工具,可以帮助我们检测输入内容是否符合特定的模式。JavaScript 提供了内置的正则表达式对象 RegExp,它可以用来检验输入内容是否为网址。下面是检验输入是否为网址的完整攻略。 1. 创建正则表达式对象 在使用正则表达式检验输入前,我们需要先创建一个正则表达式对象来描述要检验的…

    JavaScript 2023年6月10日
    00
  • js特殊字符过滤的示例代码

    JS特殊字符过滤是一种常见的前端技术,其目的是为了防止恶意注入脚本,保护网站安全性。下面,我们将介绍几种常见的JS特殊字符过滤代码。 基于字符编码的过滤 字符编码过滤的基本原理是将所有可能的JS特殊字符进行相应的编码,在输出时将编码重新转换为原有字符。常用的字符编码有HTML的&和”,URL的%20等。 以下是一个简单的示例: function ht…

    JavaScript 2023年6月10日
    00
  • jQuery EasyUI API 中文文档 – ValidateBox验证框

    关于“jQuery EasyUI API 中文文档 – ValidateBox验证框”的完整攻略,我会给您进行详细介绍。 简介 ValidateBox是jQuery EasyUI库中的一种输入验证框。通过ValidateBox,我们可以轻松地验证用户输入的内容是否合规。同时,ValidateBox也支持自定义验证规则。 基本用法 首先,我们需要引入jQuer…

    JavaScript 2023年6月10日
    00
  • js Array的用法总结

    JS Array的用法总结 简介 Javascript中的Array是一种有序数据类型,可以用来存储任何类型的数据,包括数字、字符串、甚至对象等。 声明与初始化 可以使用以下两种方式来声明和初始化一个数组: 直接声明并赋值 var arr = [1, 2, 3]; 使用Array()构造函数 var arr = new Array(1, 2, 3); 注意,…

    JavaScript 2023年5月27日
    00
  • 在JavaScript中通过URL传递汉字的方法

    在JavaScript中,我们可以通过URL传递参数,包括传递汉字参数。以下是详细的方法攻略: 第一步:使用encodeURIComponent()方法 在传递参数中包含汉字时,需要使用JavaScript提供的encodeURIComponent()方法对参数进行编码。该方法会把所有非字母数字字符(如汉字)都转换为URL编码,以便能够正确传递。 例如,如果…

    JavaScript 2023年5月19日
    00
  • es6新特性之 class 基本用法解析

    “es6新特性之 class 基本用法解析”是用于Javascript语言中的类定义机制。下面详细讲解class基本用法解析,包括类的定义、继承、静态方法、getters/setters等。 1.类定义 ES6的类定义机制为Javascript中引入了面向对象编程的思想,具有类似其他面向对象语言的类定义能力。通过这种方式,可以将代码分解为类,类似于函数定义的…

    JavaScript 2023年6月11日
    00
  • JavaScript编程中window的location与history对象详解

    JavaScript编程中window的location与history对象详解 在JavaScript编程中,window对象是一个非常重要的对象,它是代表当前浏览器窗口的一个全局对象。其中,window对象的location属性和history属性也是常用的对象,本文将详细讲解这两个对象的用法和特点。 location对象 location对象代表当前浏…

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