博客
关于我
① 浅谈JS的Array对象方法
阅读量:670 次
发布时间:2019-03-16

本文共 1699 字,大约阅读时间需要 5 分钟。

JavaScript数组常用方法详解

作为开发者,我们经常需要对数组数据进行操作,如过滤、映射、查找和归约等。以下是一些常用的数组方法及其使用方法,帮助你更高效地处理数据。


1. map方法

map方法用于对数组中的每个元素执行一个函数,返回一个新数组。每个元素处理后的值会组成新的数组。

语法

array.map(function(currentValue, index, arr), thisValue);

参数说明

  • function:必需参数,作为处理函数。
    • currentValue:当前数组元素的值,默认为必需参数。
    • index:当前数组元素的索引,可选。
    • arr:当前数组,可选。
示例 说明
numbers.map(sqrt) 使用内建函数 Math.sqrt 进行映射。

代码示例

let ages = [32, 33, 12, 40];ages.map(age => age * age); // 返回平方后的新数组:[1024, 1089, 144, 1600]

2. forEach方法

forEach方法对数组中的每个元素执行一个函数,但不会返回新数组。

语法

array.forEach(function(currentValue, index, arr), thisValue);

功能

  • 逐个遍历数组元素。
  • 可用 break; 结束循环。

代码示例

let numbers = [4, 9, 16, 25];(numbers.forEach((item, idx) => {  console.log(`数组第 ${idx} 位的值是 ${item}`);}));

3. filter方法

filter方法用于筛选数组,保留符合条件的元素,返回一个新数组。

语法

array.filter(function(currentValue, index, arr), thisValue);

参数说明

  • function:处理函数,返回 true 的元素保留,false 的元素筛选出去。

代码示例

let ages = [32, 33, 12, 40];ages.filter(age => age >= 18); // 返回 [32, 33, 40]

4. find方法

find方法用于查找数组中第一个满足条件的元素。

语法

array.find(function(currentValue, index, arr), thisValue);

返回值

  • 当找到符合条件的元素时,返回该元素;
  • 如果未找到,返回 undefined

代码示例

let numbers = [1, 2, 3];numbers.find(num => num >= 2); // 返回 2

5. findIndex方法

findIndex方法返回数组中第一个满足条件的元素的索引。

语法

array.findIndex(function(currentValue, index, arr), thisValue);

返回值

  • 索引号符合条件时返回,否则返回 -1

代码示例

let ages = [3, 10, 19, 20];ages.findIndex(age => age >= 18); // 返回 2

6. reduce方法

reduce方法用于将数组中的元素依次归约为一个值。

语法

array.reduce(function(total, currentValue, index, arr), initialValue);

参数说明

  • function:累加器函数。
    • total:累加器初始值或之前归约结果。
    • currentValue:当前元素的值。
    • index:当前元素的索引。
    • arr:当前数组。

代码示例

var numbers = [1, 2, 3, 4];numbers.reduce((sum, num) => sum + num); // 返回 10

通过合理运用这些方法,你可以对数组数据进行更高级的操作,提升代码的简洁性和可读性。

转载地址:http://bzaqz.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | 使用PyTorch进行小样本学习的图像分类
查看>>
OpenCV与AI深度学习 | 使用YOLO11实现区域内目标跟踪
查看>>
OpenCV与AI深度学习 | 使用YOLOv8做目标检测、实例分割和图像分类(包含实例操作代码)
查看>>
OpenCV与AI深度学习 | 使用单相机对已知物体进行3D位置估计
查看>>
OpenCV与AI深度学习 | 初学者指南 -- 什么是迁移学习?
查看>>
OpenCV与AI深度学习 | 十分钟掌握Pytorch搭建神经网络的流程
查看>>
OpenCV与AI深度学习 | 基于GAN的零缺陷样本产品表面缺陷检测
查看>>
OpenCV与AI深度学习 | 基于OpenCV和深度学习预测年龄和性别
查看>>
OpenCV与AI深度学习 | 基于OpenCV实现模糊检测 / 自动对焦
查看>>
OpenCV与AI深度学习 | 基于Python和OpenCV将图像转为ASCII艺术效果
查看>>
OpenCV与AI深度学习 | 基于PyTorch实现Faster RCNN目标检测
查看>>
OpenCV与AI深度学习 | 基于PyTorch语义分割实现洪水识别(数据集 + 源码)
查看>>
OpenCV与AI深度学习 | 基于YOLO11的车体部件检测与分割
查看>>
OpenCV与AI深度学习 | 基于YoloV11自定义数据集实现车辆事故检测(有源码,建议收藏!)
查看>>
OpenCV与AI深度学习 | 基于YOLOv8 + BotSORT实现球员和足球检测与跟踪 (步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 基于YOLOv8实现高级目标检测和区域计数
查看>>
VS2003 Front Page Server Extension
查看>>
OpenCV与AI深度学习 | 基于YOLOv8的停车对齐检测
查看>>
OpenCV与AI深度学习 | 基于YoloV8的药丸/片剂类型识别
查看>>
OpenCV与AI深度学习 | 基于YOLO和EasyOCR从视频中识别车牌
查看>>