Array常用的函数

在JavaScript中,Array 对象提供了许多实用的方法来操作数组。以下是常用的几个函数及其简要说明:

1. Array.prototype.forEach

forEach 用于遍历数组中的每个元素,并执行一个提供的函数。

语法
array.forEach(callback(currentValue[, index[, array]])[, thisArg])
示例
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((value, index) => {console.log(`Value at index ${index}: ${value}`);
});

2. Array.prototype.map

map 创建一个新数组,其结果是调用一个提供的函数产生的数组每一个元素的新值。

语法
array.map(callback(element[, index[, array]])[, thisArg])
示例
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map(number => number * number);
console.log(squaredNumbers); // 输出: [1, 4, 9, 16, 25]

3. Array.prototype.filter

filter 创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

语法
array.filter(callback(element[, index[, array]])[, thisArg])
示例
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // 输出: [2, 4]

4. Array.prototype.reduce

reduce 对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值。

语法
array.reduce(callback(accumulator, currentValue[, currentIndex[, array]])[, initialValue])
示例
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 输出: 15

5. Array.prototype.some

some 测试数组中是否有至少一个元素通过了由提供的函数定义的测试。

语法
array.some(callback(element[, index[, array]])[, thisArg])
示例
const numbers = [1, 2, 3, 4, 5];
const hasEven = numbers.some(number => number % 2 === 0);
console.log(hasEven); // 输出: true

6. Array.prototype.every

every 测试数组中的所有元素是否都通过了由提供的函数定义的测试。

语法
array.every(callback(element[, index[, array]])[, thisArg])
示例
const numbers = [2, 4, 6, 8, 10];
const allEven = numbers.every(number => number % 2 === 0);
console.log(allEven); // 输出: true

7. Array.prototype.find

find 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

语法
array.find(callback(element[, index[, array]])[, thisArg])
示例
const users = [{ id: 1, name: 'Alice' },{ id: 2, name: 'Bob' },{ id: 3, name: 'Charlie' }
];
const user = users.find(u => u.id === 2);
console.log(user); // 输出: { id: 2, name: 'Bob' }

8. Array.prototype.findIndex

findIndex 返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1

语法
array.findIndex(callback(element[, index[, array]])[, thisArg])
示例
const users = [{ id: 1, name: 'Alice' },{ id: 2, name: 'Bob' },{ id: 3, name: 'Charlie' }
];
const index = users.findIndex(u => u.name === 'Bob');
console.log(index); // 输出: 1

9. Array.prototype.concat

concat 方法用于合并两个或多个数组,并返回一个新的数组。

语法
array.concat([item1[, item2[, ...[, itemN]]]])
示例
const numbers1 = [1, 2, 3];
const numbers2 = [4, 5, 6];
const combined = numbers1.concat(numbers2);
console.log(combined); // 输出: [1, 2, 3, 4, 5, 6]

10. Array.from

Array.from 用于从类数组对象或可迭代对象创建一个新的数组实例。

语法
Array.from(arrayLike[, mapFn[, thisArg]])
示例
const arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 };
const array = Array.from(arrayLike);
console.log(array); // 输出: ['a', 'b', 'c']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯集训100题】scratch绘制扇子 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第28题

scratch绘制扇子 蓝桥杯集训100题第28题模拟练习解析 此题曾经作为第十届省赛的真题考过 一、题目要求 以坐标(0,0)点为中心绘制一把扇子;扇面和扇把都是三分之一圆,扇面的半径 为 100 左右,扇把的半径为 20 左右。 编程实现 每次点击绿旗后,舞台背景为白色,…

【自动驾驶】控制算法(六)前馈控制与航向误差

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

vue按钮弹框

在Vue中实现按钮点击后弹出对话框(弹框)的功能,通常可以使用一些Vue的UI组件库,如Element UI、Vuetify、BootstrapVue等,这些库提供了丰富的组件,包括对话框(Dialog)、模态框&#x…

如何使用Gogs搭建自己的git服务器

最近偶然发现一款轻量级的git服务器,以前一直用的svn server,最近想搞个git服务器, 用gitlab资源占用太多了,gogs是一款轻量级git服务器,非常适合个人使用。 项目地址:GitHub - gogs/gogs: Gogs is a painl…

(十八)Flink CEP 详解

目录 Flink CEP 引用 模式 API 单个模式 组合模式 模式组 匹配后跳过策略 检测模式 从模式中选取 CEP 库中的时间 实用案例 Flink CEP 是在 Flink 上层实现的复杂事件处理库。它可以让你在无限事件流中检测出特定的事件模型,有机会掌握数据中重要的部分。Flink CEP …

图书项目要点

一、搭建项目 使用tarojs/cli进行搭建 taro init [项目名] 二、具体页面 页面声明: 在【app.config.ts】中对主页面进行声明:组件页面可以不用声明 pages: ["pages/index/index",pages/user/index,pages/book/index,], tabbar制作&…

三种tcp并发服务器实现程序

都需先进行tcp连接 1、多进程并发 2、多线程并发 3、IO多路复用并发 (1)select (2)epoll 注:select与epoll文件描述符限制的区别是指同时涌入的客户端数量,select最大只能有1024个,epoll可以超…

MSR810配置本地认证的有线802.1X认证

正文共:1567 字 15 图,预估阅读时间:2 分钟 IEEE 802.1X协议又称DOT1X协议,是一种基于端口的网络接入控制协议(Port based network access control protocol),即在局域网接入设备的端口上对所接…

RabbitMQ 常见问题与故障排查

目录 前言 常见错误与解决方案 1. 连接失败 2. 队列阻塞 3. 消息丢失 4. 消费者不消费 5. 资源耗尽 日志分析 1. 配置 RabbitMQ 日志 2.日志文件位置 3. 日志分析工具 4. 分析日志文件 5. 常见日志问题及解决方案 Docker中日志分析 1. 查看 RabbitMQ 日志 2. 获…

Django 第八课 -- 路由

目录 一. 前言 1.1. Django1.1.x 版本 1.2. Django 2.2.x 之后的版本 二. 正则路径中的分组 2.1. 正则路径中的无名分组 2.2. 正则路径中的有名分组 三. 反向解析 3.1. 普通路径 3.2. 正则路径(无名分组) 3.3. 正则路径(有名分组&a…

代码随想录训练营 Day41打卡 动态规划 part08 121. 买卖股票的最佳时机 122. 买卖股票的最佳时机II 123. 买卖股票的最佳时机III

代码随想录训练营 Day41打卡 动态规划 part08 一、力扣121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计…

反事实推理(Counterfactual Reasoning):探索未知与决策的桥梁

反事实推理(Counterfactual Reasoning):探索未知与决策的桥梁 反事实推理(Counterfactual Reasoning)是一种思维方式,它试图回答“如果……会怎样?”的问题。简单来说,反事实推理是…

中国料箱穿梭车玩家TOP榜单

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 料箱穿梭车前景 随着全球智慧物流建设的加速推进,智能仓储物流成为未来发展的重要趋势。在此背景下,料箱穿梭车作…

cuda,torch,paddle向下兼容

1、第一次配置yolov9模型时,使用的cuda的版本是11.6,torch和torchvision都是对应版本的 使用的tensorrt版本8.6,可以正常跑yolov9 其它不动,直接将cuda版本换为cuda11.7,依然可以正常运行 2、paddleseg paddle同样安…

carla unreal engine源码:如何创建radar可视化探测锥

文章目录 前言一、C实现方法1、DrawDebugCone函数2、carla工程修改3、make launch4、探测锥验证 二、蓝图实现方法1、创建并打开蓝图2、打开蓝图事件图表3、绘制蓝图事件4、编译再运行 前言 1、在自动驾驶仿真调试以及测试过程中,我们经常会用到雷达的探测锥&#…

Memory-based Controller Shutdown (PCIe)

本文介绍NVMe协议中定义的Controller Shutdown流程,当Host需要下电或关机的情况下,应该按下面步骤对控制器进行有序的下电操作。 Normal Controller Shutdown,Host应依次执行以下操作: 如果Controller是enabled(i.e.,…

设计模式 代理模式(Proxy Pattern)

简绍 代理模式是一种结构型设计模式,它允许您提供一个替代对象(代理)来控制对一个真实对象的访问。这种模式通常用于在访问某个对象之前或之后执行一些额外的操作,比如缓存、日志记录、权限验证等 静态代理 静态代理的特点 代…

OpenCV小练习:身份证号码识别

目标:针对一张身份证照片,把身份证号码识别出来(转成数字或字符串)。 实现思路:需要将目标拆分成两个子任务:(1) 把身份证号码区域从整张图片中检测/裁剪出来;(2) 将图片中的数字转化成文字。第…

Java重修笔记 第四十五天 LinkedHashSet 类

LinkedHashSet 类 1. LinkedHashSet 是 HashSet 的子类,继承 HashSet 的方法 2. LinkedHashSet 的底层是 LinkedHashMap ,底层维护了一个数组加双向链表的组合 3. LinkedHashSet 根据元素的 hashCode 值来决定元素在 table 数组上的存储位置&#xf…

Pandas库性能优化指南:从基础到进阶(终)

Pandas是Python中广泛使用的数据处理库,凭借其强大的功能和易用性,深受数据科学家和开发者的青睐。然而,Pandas在处理大规模数据时可能会遇到性能瓶颈,导致执行效率低下。本文将深入探讨如何通过一系列优化技巧,提升Pa…