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

JavaScript Array(数组)

JavaScript Array(数组)

引言

JavaScript 中的数组是存储一系列有序数据项的容器。数组是 JavaScript 中最常用的数据结构之一,几乎在所有 JavaScript 应用程序中都会用到。本文将详细介绍 JavaScript 数组的相关知识,包括数组的创建、访问、修改、排序、搜索等操作。

数组的创建

在 JavaScript 中,可以使用多种方式创建数组:

1. 使用数组字面量

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

2. 使用 Array() 构造函数

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

3. 使用 Array.of() 方法

let arr = Array.of(1, 2, 3, 4, 5);

4. 使用 Array.from() 方法

let arr = Array.from([1, 2, 3, 4, 5]);

数组的访问

1. 使用索引访问元素

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

2. 使用 length 属性获取数组长度

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

数组的修改

1. 使用索引修改元素

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

2. 使用 push()pop() 方法添加和删除数组元素

let arr = [1, 2, 3, 4, 5];
arr.push(6); // 添加元素
console.log(arr); // 输出:[1, 2, 3, 4, 5, 6]

arr.pop(); // 删除元素
console.log(arr); // 输出:[1, 2, 3, 4, 5]

3. 使用 shift()unshift() 方法添加和删除数组元素(针对数组头部)

let arr = [1, 2, 3, 4, 5];
arr.shift(); // 删除头部元素
console.log(arr); // 输出:[2, 3, 4, 5]

arr.unshift(0); // 添加头部元素
console.log(arr); // 输出:[0, 2, 3, 4, 5]

数组的排序

JavaScript 中的数组提供了 sort() 方法用于排序:

let arr = [5, 2, 9, 1, 5, 6];
arr.sort();
console.log(arr); // 输出:[1, 2, 5, 5, 6, 9]

默认情况下,sort() 方法按照升序排序。如果需要按照降序排序,可以传递一个比较函数:

let arr = [5, 2, 9, 1, 5, 6];
arr.sort((a, b) => b - a);
console.log(arr); // 输出:[9, 6, 5, 5, 2, 1]

数组的搜索

JavaScript 中的数组提供了 indexOf()lastIndexOf() 方法用于搜索元素:

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

如果元素不存在,indexOf()lastIndexOf() 方法将返回 -1

总结

本文介绍了 JavaScript 数组的基本知识,包括创建、访问、修改、排序和搜索等操作。掌握数组的相关知识对于编写高效的 JavaScript 代码至关重要。希望本文能帮助您更好地理解和使用 JavaScript 数组。

http://www.dtcms.com/a/108504.html

相关文章:

  • LVGL实现一个简易画图板
  • OSPF的Broadcast网络类型
  • [论文笔记] Deepseek技术报告解读: MLAMTP
  • Ubuntu与本地用户交流是两种小方法
  • 一个c#的简单日志记录类,避免使用Nuget依赖
  • Zabbix_agent自动注册教程!
  • 利用 PHP 爬虫按关键字搜索淘宝商品
  • uni-app 微信小程序 WebSocket 接入讯飞语音合成(流式版)WebAPI 示例
  • 【Redis】如何处理缓存穿透、击穿、雪崩
  • 在 Blazor 中使用 Chart.js 快速创建数据可视化图表
  • 大模型生成浏览器端的初级俄罗斯方块
  • 美团民宿 mtgsig 小程序 mtgsig1.2 分析
  • Unity中的C#脚本中文字符无法正常显示问题
  • mysql-创建和删除索引的两种方式
  • 针对 MySQL 数据库中 主键/唯一约束的更新方法 和 ON DUPLICATE KEY UPDATE 语法的详细说明及示例,并以表格总结
  • YOLOv11区域检测
  • Element Plus 常用组件
  • 超越人工智能驱动的网络攻击:现代防御者的策略
  • 电子电气架构 --- 智能座舱域控设计
  • Flutter 音视频播放器与弹幕系统开发实践
  • RK3588使用笔记:USB转232、485、422模块驱动适配
  • [蓝桥杯 2024 省 A] 训练士兵
  • 虚拟试衣间-云尚衣橱小程序-衣橱管理实现
  • 算法:二进制求和
  • 从零构建大语言模型全栈开发指南:第四部分:工程实践与部署-4.3.3低代码开发:快速构建行业应用(电商推荐与金融风控案例)
  • Python 驱动周立功200U收发报文
  • 国产系统服务器识别不到SATA盘
  • STM32学习笔记之RCC模块(实操篇)
  • 横扫SQL面试——中位数问题
  • git tag