当前位置: 首页 > article >正文

JS常用数组方法 reduce filter find forEach

文章目录

  • reduce
      • 应用:数据扁平化
  • filter
  • find
    • 从数组 [1,2,3,4,5,6] 中找出值为 2 的元素
  • forEach
      • 用于遍历,forEach 方法没有返回值,它总是返回 undefined。

reduce

数组变量名.reduce((sum,value) => {
// 向sum变量上累加值
// 一定要return值 给下一次循环sum初始值
},0)

let arr = [10, 5, 3, 7]

let res = arr.reduce((sum, value) =>{
  console.log(sum,value);
  
  sum += value
  return sum
},0)

console.log(res);

在这里插入图片描述

应用:数据扁平化

filter

filter 方法用于过滤数组,返回数组中满足条件的元素所组成的新数组

let newArray = array.filter(function(element, index, array) {
    // 返回 true 或 false
}, thisArg);

element:当前正在处理的数组元素。
index(可选):当前正在处理的元素的索引。
array(可选):调用 filter 方法的数组。
thisArg(可选):执行回调时使用的 this 值。
newArray:包含通过测试的所有元素的新数组。

应用场景:当你需要根据特定条件筛选数组元素时

假设我们有一个数字数组,我们想要找出所有大于 10 的数字:

const numbers = [1, 12, 5, 8, 20, 7, 30];
const filteredNumbers = numbers.filter(function(number) {
    return number > 10;
});

console.log(filteredNumbers); // 输出: [12, 20, 30]

find

返回数组中满足提供的测试函数的第一个元素的值。如果没有元素满足测试函数,find 方法返回 undefined。

let result = array.find(function(element, index, array) {
    // 返回 true 或 false
}, thisArg);

element:当前正在处理的数组元素。
index(可选):当前正在处理的元素的索引。
array(可选):调用 find 方法的数组。
thisArg(可选):执行回调时使用的 this 值。
result:数组中满足测试函数的第一个元素的值,否则返回 undefined。
返回值
  • 例子
const users = [
    { id: 1, name: 'Alice' },
    { id: 2, name: 'Bob' },
    { id: 3, name: 'Charlie' }
];

const foundUser = users.find(user => user.id === 2);

console.log(foundUser); // 输出: { id: 2, name: 'Bob' }

从数组 [1,2,3,4,5,6] 中找出值为 2 的元素

  • 用find
// 从数组 [1,2,3,4,5,6] 中找出值为 2 的元素
console.log('从数组 [1,2,3,4,5,6] 中找出值为 2 的元素');

let arr1 = [1,2,3,4,5,6]
let res1 = arr1.find((ele,index)=>{
  return ele === 2
})
console.log(res1);
  • 用filter
let res2 = [1,2,3,4,5,6].filter((ele) => ele === 2)
console.log(res2);

这两个方法略有不同,filter返回的是一个数组,数组中包含符合条件的元素。find返回的是第一个满足条件的元素

forEach

用于遍历,forEach 方法没有返回值,它总是返回 undefined。

array.forEach(function(element, index, array) {
    // 执行代码
}, thisArg);

element:当前正在处理的数组元素。
index(可选):当前正在处理的元素的索引。
array(可选):调用 forEach 方法的数组。
thisArg(可选):执行回调时使用的 this 值。
undefined:forEach 方法没有返回值,它总是返回 undefined
  • 遍历数组
const numbers = [1, 2, 3, 4, 5];

numbers.forEach(number => console.log(number));

http://www.kler.cn/a/384263.html

相关文章:

  • 一个小程序如何对接多个收款账户?
  • Docker-软件容器平台
  • 数据结构---二叉树(顺序结构),堆(上)
  • Aop+自定义注解实现数据字典映射
  • Java | Leetcode Java题解之第546题移除盒子
  • Docker + Jenkins + gitee 实现CICD环境搭建
  • Qt项目实战:银行利息(贷款)计算器
  • android camera data -> surface 显示
  • 北京美信时代渠道代理:运维后期维保服务策略
  • element-plus按需引入报错AutoImport is not a function
  • 利用Python 的爬虫技术淘宝天猫销量和库存
  • 基于SpringBoot的“校园交友网站”的设计与实现(源码+数据库+文档+PPT)
  • 「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现
  • Zabbix监控架构
  • 提示工程(Prompt Engineering):大模型微调Prompt/Instruct Mode;稀疏向量与稠密向量进行词语编码
  • Scala访问控制权限详解与应用实践 #Scala #scala
  • 履带机器人(一、STM32控制部分--标准库)
  • MyBatis项目的创建和增删查改操作
  • 计算机的发展史
  • 动漫风格大模型和lora推荐
  • 【ShuQiHere】️使用 Tailscale 轻松构建安全、分布式网络
  • 51单片机教程(一)- 开发环境搭建
  • group_concat配置影响程序出bug
  • 前端预览word、excel、ppt
  • 使用onnxruntime c++ API实现yolov5m视频检测
  • 进入半导体行业需要具备哪些能力?