JavaScript(三):数组

server/2024/12/29 2:01:57/

目录

创建数组

访问数组元素

修改数组元素

数组的常用方法


创建数组

创建数组可以直接使用字面量语法创建,例如:

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

使用方括号将元素写在其中,用逗号分隔

也可以使用new Array()创建

let arr = new Array(5);  // 创建一个包含5个空位的数组
let arr2 = new Array(1, 2, 3);  // 创建一个包含1, 2, 3元素的数组

当传入一个数字时,创建一个指定长度的空数组,数组的元素为undefined

当传入多个参数时,创建一个包含这些值的数组

JavaScript中,数组的元素可以是不同的数据类型,也可以嵌套其他数组

let arr = [1, "hello", true, null, [1, 2, 3]];
console.log(arr[4]);  // 输出: [1, 2, 3]

访问数组元素

数组的元素通过索引访问,从0开始

let arr = [10, 20, 30, 40, 50];
console.log(arr[0]);  // 输出: 10
console.log(arr[3]);  // 输出: 40

修改数组元素

通过修改索引来修改数组元素

let arr = [10, 20, 30];
arr[1] = 50;  // 修改索引为1的元素
console.log(arr);  // 输出: [10, 50, 30]

数组的常用方法

push():在数组的末尾添加一个或多个元素,并返回新的数组长度

let str = "Hello, world!";
console.log(str.lastIndexOf('o'));  // 输出: 8

pop():删除数组的最后一个元素,并返回该元素

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

shift():删除数组的第一个元素,并返回该元素

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

unshift():在数组的开头添加一个或多个元素,并返回新的数组长度

let arr = [1, 2, 3];
arr.unshift(0);  // 添加 0 到数组开头
console.log(arr);  // 输出: [0, 1, 2, 3]

concat():合并两个或多个数组,返回一个新的数组

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

join():将数组的所有元素连接成一个字符串,可以指定分隔符

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

slice():从数组中提取出一个新的子数组(不修改原数组),可以指定起始和结束索引

let arr = [1, 2, 3, 4, 5];
let subArr = arr.slice(1, 4);  // 从索引 1 到 4 (不包括 4)
console.log(subArr);  // 输出: [2, 3, 4]

splice():用于删除或替换数组中的元素,也可以向数组中添加元素

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

sort():对数组进行排序,默认按字符串排序

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

reverse():反转数组中的元素

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

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():返回数组中第一个满足条件的元素。如果没有符合条件的元素,返回 undefined

let arr = [5, 12, 8, 130, 44];
let found = arr.find(element => element > 10);
console.log(found);  // 输出: 12

forEach():对数组的每个元素执行一次回调函数

let arr = [1, 2, 3];
arr.forEach((item, index) => {console.log(`Item at index ${index}: ${item}`);
});

filter():创建一个新数组,包含所有满足条件的元素

let arr = [1, 2, 3, 4, 5];
let even = arr.filter(x => x % 2 === 0);
console.log(even);  // 输出: [2, 4]


http://www.ppmy.cn/server/154070.html

相关文章

PL/SQL语言的并发编程

标题:深入探讨PL/SQL语言中的并发编程 一、引言 在数据库应用程序开发中,多用户同时访问和操作数据的情况非常常见,这就要求数据库系统具备处理并发操作的能力。而Oracle数据库的PL/SQL语言,以其强大的并发处理能力,…

使用FreeNAS软件部署ISCSI的SAN架构存储(IP-SAN)练习题

一,实验用到工具分别为: VMware虚拟机,安装教程:VMware Workstation Pro 17 安装图文教程 FreeNAS系统,安装教程:FreeNAS-11.2-U4.1安装教程2024(图文教程) 二,新建虚…

git 设置.gitignore文件屏蔽文件夹,但远程仓库文件夹未删除

git 设置.gitignore文件屏蔽文件夹,但远程仓库文件夹未删除 项目场景:问题描述 原因分析:解决方案:1、执行git rm清除暂存区的特定文件或文件夹2、提交并编辑分支提交注释3、提交完成后向远程推送代码4、检查被屏蔽文件&#xff0…

《战神:诸神黄昏》游戏运行时提示找不到emp.dll怎么办?emp.dll丢失如何修复?

《战神:诸神黄昏》游戏运行时提示找不到emp.dll怎么办?emp.dll丢失的修复方法 在畅游《战神:诸神黄昏》这款史诗级游戏的过程中,如果突然遭遇“找不到emp.dll”的错误提示,无疑会打断你的冒险之旅。作为一名深耕软件开…

Java设计模式 —— 【结构型模式】外观模式详解

文章目录 概述结构案例实现优缺点 概述 外观模式又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这…

hhdb客户端介绍(57)

技术选型 选择 MySQL 数据库的原因 开源免费: MySQL 作为一款开源数据库,不仅免费提供给用户,还具备强大的功能和灵活性,有效降低了企业的软件许可成本。 卓越的性能: 在处理大规模数据集和高并发访问时,…

为什么在Cloudflare域名绑定添加DNS后,域名+端口无法访问?(Cloudflare域名+端口无法访问的问题详解)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Cloudflare 域名+端口无法访问 📒📝 问题示例📝 出现原因分析🔍 1. Cloudflare 的代理工作原理🔍 2. 问题核心📝 解决方案🎯 方法 1🎯 方法 2🎯 方法 3🎯 方法 4(推荐)🔖 配置示例⚓️ 相关链接 ⚓️�…

【Redis】Redis 安装与启动

在实际工作中,大多数企业选择基于 Linux 服务器来部署项目。本文演示如何使用 MobaXterm 远程连接工具,在 CentOS 7 上安装和启动 Redis 服务(三种启动方式,包括默认启动、指定配置启动和开机自启)。在安装之前&#x…