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常规加密技术实现方式详解

    JavaScript常规加密技术实现方式详解 什么是加密技术? 在计算机科学中,加密技术是指将信息从一种形式转换为另一种形式,使得只有授权的人可以读取或理解信息。加密技术在计算机安全、金融、通信等领域得到广泛应用,目的是保护信息的机密性、完整性和可用性。 常见的加密技术 对称加密 对称加密是最基本的加密技术之一,它使用同一个密钥进行加密和解密。对称加密的优点…

    JavaScript 2023年5月19日
    00
  • JS获得一个对象的所有属性和方法实例

    获取一个对象的所有属性和方法实例有多种方式,下面将介绍其中两种常用的方法。 1. 使用 Object.getOwnPropertyNames() 和 Object.getOwnPropertySymbols() Object.getOwnPropertyNames() 可以获取对象自有的所有属性名,包括不可枚举的属性(例如,通过 Object.defineP…

    JavaScript 2023年5月27日
    00
  • 原生js仿jquery一些常用方法(必看篇)

    “原生js仿jquery一些常用方法(必看篇)”是一篇文章,介绍了如何使用纯原生的JavaScript实现一些常见的jQuery方法。这些方法包括:选择器、事件绑定、DOM操作、特效等。 以下是这篇文章中介绍的一些内容: 选择器 在jQuery中,我们可以使用美元符号($)来简化选择器的书写。例如: $(“.my-class”) 在原生JavaScript中…

    JavaScript 2023年5月18日
    00
  • vue实践—vue不依赖外部资源实现简单多语操作

    下面是关于“vue实践—vue不依赖外部资源实现简单多语操作”的攻略。 1. 简介 在前端开发中,多语言支持是非常重要的一个功能。很多项目都需要支持多种语言,如中文、英文、日文等。Vue作为一种流行的前端框架,无疑是支持多语言的。但是,很多开发者在实现多语言功能时,会选择引入第三方外部库,如Vue-i18n等,这种做法虽然方便,但会导致代码的冗余和可维护…

    JavaScript 2023年6月11日
    00
  • JavaScript笛卡尔积超简单实现算法示例

    JavaScript笛卡尔积超简单实现算法示例:完整攻略 什么是笛卡尔积 笛卡尔积是组合数学中的一种运算,指的是将两个集合看作是笛卡尔坐标系上的两个维度,然后将它们组合在一起,形成一个新的集合的所有可能的组合。 举个例子,假设集合A={1, 2},集合B={x, y},它们的笛卡尔积就是{(1, x), (1, y), (2, x), (2, y)}。 在编…

    JavaScript 2023年5月28日
    00
  • JavaScript获取多个数组的交集简单实例

    下面我将详细讲解 JavaScript 获取多个数组的交集的完整攻略。 什么是数组的交集? 数组的交集是指两个或多个数组中共同存在的元素。 例如,对于两个数组 arr1 = [1, 2, 3, 4, 5] 和 arr2 = [3, 4, 5, 6, 7],它们的交集为 [3, 4, 5]。 实现数组的交集 下面我们来讲解具体实现来获取多个数组的交集,我们可以…

    JavaScript 2023年5月27日
    00
  • Js生成随机数/随机字符串的方法小结【5种方法】

    下面是对“Js生成随机数/随机字符串的方法小结【5种方法】”的完整攻略。 标题 Js生成随机数/随机字符串的方法小结【5种方法】 概述 在编写 JavaScript 代码时,随机数和随机字符串的生成是非常常见的需求。本文将介绍总共 5 种方法来生成随机数和随机字符串。 生成随机整数 Math.random() 方法 Math.random() 是 JavaS…

    JavaScript 2023年5月28日
    00
  • JavaScript面向对象编程

    我们来详细讲解一下“JavaScript面向对象编程”的完整攻略。 什么是JavaScript面向对象编程 Javascript 是一种面向对象的编程语言,也就是说,Javascript 具有类、对象、继承等面向对象的特性。面向对象的编程风格可以帮助我们更好地组织和管理代码,使其具有可复用性、可维护性和可扩展性。 在Javascript中,对象是一个集合,它…

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