js数组的常用操作1

在 中,数组是一种常见的数据结构,用于存储多个值。数组的操作非常丰富,以下是一些常见的数组操作及其具体解释和示例代码。

1. 创建数组

使用数组字面量

let arr = [1, 2, 3, 4];

使用 Array 构造函数

let arr = new Array(1, 2, 3, 4);

2. 访问数组元素

使用索引

let arr = [1, 2, 3, 4];
console.log(arr[0]); // 输出 1
console.log(arr[3]); // 输出 4

3. 遍历数组

使用 for 循环

let arr = [1, 2, 3, 4];
for (let i = 0; i < arr.length; i++) {console.log(arr[i]);
}

使用 for...of 循环

let arr = [1, 2, 3, 4];
for (let value of arr) {console.log(value);
}

使用 forEach 方法

let arr = [1, 2, 3, 4];
arr.forEach((value, index) => {console.log(`Index: ${index}, Value: ${value}`);
});

4. 添加和删除元素

push

向数组末尾添加一个或多个元素。

let arr = [1, 2, 3];
arr.push(4);
console.log(arr); // 输出 [1, 2, 3, 4]

pop

从数组末尾移除一个元素。

let arr = [1, 2, 3, 4];
arr.pop();
console.log(arr); // 输出 [1, 2, 3]

unshift

向数组开头添加一个或多个元素。

let arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // 输出 [0, 1, 2, 3]

shift

从数组开头移除一个元素。

let arr = [1, 2, 3, 4];
arr.shift();
console.log(arr); // 输出 [2, 3, 4]

5. 数组方法

concat

连接两个或多个数组。

let arr1 = [1, 2];
let arr2 = [3, 4];
let newArr = arr1.concat(arr2);
console.log(newArr); // 输出 [1, 2, 3, 4]

slice

返回一个新数组,包含从开始到结束(不包括结束)选择的数组的一部分。

let arr = [1, 2, 3, 4];
let newArr = arr.slice(1, 3);
console.log(newArr); // 输出 [2, 3]

splice

通过删除或替换现有元素或添加新元素来修改数组内容。

let arr = [1, 2, 3, 4];
arr.splice(1, 2, 5, 6); // 从索引1开始删除2个元素,然后插入5和6
console.log(arr); // 输出 [1, 5, 6, 4]

indexOf

返回数组中首次出现的指定元素的索引,如果不存在则返回 -1。

let arr = [1, 2, 3, 4];
console.log(arr.indexOf(3)); // 输出 2
console.log(arr.indexOf(5)); // 输出 -1

includes

判断数组是否包含指定的元素,返回布尔值。

let arr = [1, 2, 3, 4];
console.log(arr.includes(3)); // 输出 true
console.log(arr.includes(5)); // 输出 false

find

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

let arr = [1, 2, 3, 4];
let found = arr.find(element => element > 2);
console.log(found); // 输出 3

findIndex

返回数组中满足提供的测试函数的第一个元素的索引,如果没有找到则返回 -1。

let arr = [1, 2, 3, 4];
let index = arr.findIndex(element => element > 2);
console.log(index); // 输出 2

filter

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

let arr = [1, 2, 3, 4];
let filteredArr = arr.filter(element => element > 2);
console.log(filteredArr); // 输出 [3, 4]

map

创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

let arr = [1, 2, 3, 4];
let newArr = arr.map(element => element * 2);
console.log(newArr); // 输出 [2, 4, 6, 8]

reduce

对数组中的每个元素执行一个提供的函数,将其结果汇总为单个值。

let arr = [1, 2, 3, 4];
let sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出 10

some

测试数组中的某些元素是否通过由提供的函数实现的测试。

let arr = [1, 2, 3, 4];
let hasElementGreaterThan2 = arr.some(element => element > 2);
console.log(hasElementGreaterThan2); // 输出 true

every

测试数组中的所有元素是否通过由提供的函数实现的测试。

let arr = [1, 2, 3, 4];
let allElementsGreaterThan2 = arr.every(element => element > 2);
console.log(allElementsGreaterThan2); // 输出 false

sort

对数组中的元素进行排序并返回此数组。

let arr = [3, 1, 4, 2];
arr.sort((a, b) => a - b);
console.log(arr); // 输出 [1, 2, 3, 4]

reverse

反转数组中的元素顺序。

let arr = [1, 2, 3, 4];
arr.reverse();
console.log(arr); // 输出 [4, 3, 2, 1]

join

将数组的所有元素连接成一个字符串。

let arr = [1, 2, 3, 4];
let str = arr.join('-');
console.log(str); // 输出 "1-2-3-4"

flat

按照指定的深度递归地将数组展平。

let arr = [1, [2, [3, [4]]]];
let flatArr = arr.flat(2);
console.log(flatArr); // 输出 [1, 2, 3, [4]]

flatMap

首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。

let arr = [1, 2, 3];
let newArr = arr.flatMap(x => [x * 2]);
console.log(newArr); // 输出 [2, 4, 6]

总结

以上是 中数组的常见操作及其解释和示例。这些操作涵盖了数组的创建、访问、遍历、修改以及高级操作方法,掌握这些操作可以大大提高你对数组的操作能力和代码的可读性。

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

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

相关文章

MetaGPT: Merging Large Language Models Using Model Exclusive Task Arithmetic

论文主题理解 这篇论文的核心是关于如何有效地结合多个预训练的大型语言模型&#xff08;LLMs&#xff09;&#xff0c;以便它们能够在多个不同的任务上表现出色。这里的“任务”可以是翻译、文本摘要、问题回答等自然语言处理任务。作者们提出了一种新的方法&#xff0c;称为…

openGauss 6.0高可用测试,系统上线前很关键

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

5-10位工程师如何共享工作站算力和软件

在当今数字化快速发展的时代&#xff0c;算力共享已经成为工程师们提高工作效率、优化资源配置的重要手段。 在数字化和信息化的推动下&#xff0c;共享工作站的算力和软件正逐渐成为机械工程师们提升工作效率、优化资源配置的重要途径。那么5-10位工程师如何共享工作站算力和…

等保一体机:多种防护机制,让等保合规简单高效!

自1994年国务院颁布《中华人民共和国计算机信息系统安全保护条例》规定计算机信息系统实行安全等级保护以来&#xff0c;等级保护工作经过了近25年的发展历程&#xff0c;成为了我国网络安全保护的重要举措之一。 2019年12月1日等保2.0正式开始实施&#xff0c;我国网络安全行业…

Jpush极光推送教程

1、引入jar包 <dependency><groupId>cn.jpush.api</groupId><artifactId>jpush-client</artifactId><version>3.4.6</version> </dependency>2、Jpush官网申请密钥 3、代码部分 public interface JPushService {Result pushD…

低压电器航空插座端子

低压电器航空插座的定义和功能 低压电器航空插座通常指在交流电压1200V或直流电压1500V以下工作的电器&#xff0c;其主要功能是连接或断开电路&#xff0c;以实现对电路或非电对象的切换、控制、保护、检测、变换和调节。航空插座具有多种芯数和配置&#xff0c;例如2芯、3芯…

Web前端教程PPT:深入浅出引领您掌握前端技术

Web前端教程PPT&#xff1a;深入浅出引领您掌握前端技术 在数字化时代&#xff0c;Web前端技术成为了构建精美网页和高效应用的基石。为了帮助初学者系统地掌握前端技术&#xff0c;本文将以PPT的形式&#xff0c;从四个方面、五个方面、六个方面和七个方面&#xff0c;为您呈…

面试又被HR压薪了?知道压薪的真实原因,才能拿到“高“薪!

​你面试被讨价还价过吗&#xff1f; 人事A&#xff1a; 您在这方面的经验还不是很丰富&#xff0c;您在之前的公司做的项目不是主要负责人&#xff0c;是辅助角色&#xff0c;所以工资方面我们准备给..(低于你的期望) 人事B&#xff1a; 您之前的岗位和我们需要的岗位不同&…

2288. 价格减免

题目 给定一个字符串列表 sentence&#xff0c;表示一个句子&#xff0c;其中每个单词可以包含数字、小写字母和美元符号 $。如果单词的形式为美元符号后跟着一个非负实数&#xff0c;那么这个单词就表示一个价格。我们需要在价格的基础上减免给定的 discount%&#xff0c;并更…

工具链 之 Vite 常见的共享选项配置(二)

这些配置通常包括插件、别名、CSS 预处理器设置。 1. 插件&#xff08;Plugins&#xff09; 插件是 Vite 生态系统中的核心部分&#xff0c;用于扩展 Vite 的功能。一些插件&#xff08;如 vitejs/plugin-vue 对于 Vue 项目&#xff09;是项目所必需的&#xff0c;并且在所有环…

原生APP开发的技术难点

原生APP开发是一项复杂的技术工作&#xff0c;需要掌握多种编程语言和技术。原生APP开发的技术难点主要体现在以下几个方面&#xff0c;原生APP开发是一项技术难度较高的工作&#xff0c;需要开发者具备扎实的编程基础和丰富的开发经验。北京木奇移动技术有限公司&#xff0c;专…

Pycharm怎么默认终端连接远程服务器

因为经常需要从宿舍到学校内通勤&#xff0c;期间所有连接都会中断&#xff0c;所以每次开SSH特别麻烦&#xff0c;每次终端自动切换到本地&#xff1a; 每次都得点一下Start SSH Session 想要默认终端连接远程服务器&#xff0c;需要点File->Setting->Tools->SSH T…

Python - 一个恶意脚本

Python - 恶意脚本 使用此脚本或修改前请注意以下几点&#xff1a; 系统资源&#xff1a;大量模拟键盘和鼠标事件可能会占用大量系统资源&#xff0c;会导致其他应用程序运行缓慢或崩溃。 隐私和安全&#xff1a;如果此脚本在未经用户同意的情况下运行&#xff0c;它可能侵犯…

铺地地毯B1级防火检测 隔断板A1阻燃测试 氧指数检测

铺地地毯B1级防火检测 铺地地毯的B1级防火检测是指按照国家标准GB 8624-2012《建筑材料及制品燃烧性能分级》进行的测试&#xff0c;该标准将建筑材料及制品的燃烧性能分为A、B1、B2、B3四个等级。B1级表示难燃材料&#xff0c;具有较好的阻燃作用&#xff0c;在空气中遇明火或…

泛微E9开发 查询页面添加按钮,完成特定功能

查询页面添加按钮&#xff0c;完成特定功能 1、关联知识&#xff08;查询页面实现新增按钮&#xff09;2、功能实现2.1. 点击按钮&#xff0c;输出选中的checkbox的值2.2. 点击按钮&#xff0c;打开一个自定义对话框 3、实现方法 1、关联知识&#xff08;查询页面实现新增按钮&…

如何在不降低网络安全防护的前提下,优化pcdn的流量清洗效率?

在不降低网络安全防护的前提下&#xff0c;优化PCDN的流量清洗效率是一个复杂但至关重要的任务。以下是一些建议&#xff0c;帮助您实现这一目标&#xff1a; 一&#xff0e;升级硬件与网络设备&#xff1a; 投资于高性能的硬件和网络设备&#xff0c;以确保流量清洗过程中的…

【最新鸿蒙应用开发】——总结鸿蒙ArkTS渲染机制

ArkTS三种渲染控制机制 ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外&#xff0c;还可以使用渲染控制语句来辅助UI的构建&#xff0c;这些渲染控制语句包括控制组件是否显示的条件渲染语句…

【大数据】gRPC、Flink、Kafka 分别是什么?

1. gRPC gRPC&#xff08;Google Remote Procedure Call&#xff09;是一个高性能、开源的远程过程调用&#xff08;RPC&#xff09;框架。它是由Google开发的&#xff0c;支持多种编程语言&#xff0c;并且广泛应用于微服务架构中。以下是gRPC的一些关键特点&#xff1a; 多语…

低代码结合自研项目打包发布

nginx配置 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mime.types;default_type applica…

麒麟Kylin | 操作系统的安装与管理

以下所使用的环境为&#xff1a;VMware Workstation 17 Pro、Kylin-Server-10-SP2-x86-Release-Build09-20210524 一、创建虚拟机 在VMware主机单击【创建新的虚拟机】 **在新建虚拟机向导中选择【自定义】&#xff0c;然后点击【下一步】 ** 保持默认选项&#xff0c;然后…