JavaScript数组

        JavaScript中的数组是一种强大而灵活的数据结构,用于存储和操作一组值。本文将介绍如何创建和访问数组,以及JavaScript数组常用的方法,如pushpopshiftunshiftslice等。

一、创建和访问数组

JavaScript中,可以使用以下方式创建一个数组:

// 使用字面量方式创建数组
let fruits = ['apple', 'banana', 'orange'];// 使用Array构造函数创建数组
let numbers = new Array(1, 2, 3, 4, 5);

数组中的元素可以通过索引进行访问,索引从0开始:

console.log(fruits[0]); // 输出:'apple'
console.log(numbers[2]); // 输出:3

二、pushpop方法

push方法用于向数组末尾添加一个或多个元素:

fruits.push('grape');
console.log(fruits); // 输出:['apple', 'banana', 'orange', 'grape']

pop方法用于删除并返回数组的最后一个元素:

let lastFruit = fruits.pop();
console.log(lastFruit); // 输出:'grape'
console.log(fruits); // 输出:['apple', 'banana', 'orange']

三、shiftunshift方法

shift方法用于删除并返回数组的第一个元素:

let firstFruit = fruits.shift();
console.log(firstFruit); // 输出:'apple'
console.log(fruits); // 输出:['banana', 'orange']

unshift方法用于向数组的开头添加一个或多个元素:

fruits.unshift('kiwi', 'mango');
console.log(fruits); // 输出:['kiwi', 'mango', 'banana', 'orange']

四、slice方法

slice方法用于从数组中提取出指定范围的元素,返回一个新数组,不会修改原数组:

let citrusFruits = fruits.slice(1, 3);
console.log(citrusFruits); // 输出:['mango', 'banana']
console.log(fruits); // 输出:['kiwi', 'mango', 'banana', 'orange']

五、其他数组方法

  • concat:用于合并两个或多个数组。
  • indexOf和lastIndexOf:用于查找指定元素在数组中的索引。
  • join:将数组中的所有元素连接成一个字符串。
  • reverse:反转数组中的元素顺序。
  • sort:对数组进行排序。
  • forEachmapfilterreduce等高阶函数:用于对数组进行迭代和处理。
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const newArray = array1.concat(array2);
console.log(newArray); // Output: [1, 2, 3, 4, 5, 6]const array = [1, 2, 3, 4, 5, 4];
console.log(array.indexOf(4)); // Output: 3
console.log(array.lastIndexOf(4)); // Output: 5const array = ['Hello', 'World', '!'];
const result = array.join(' ');
console.log(result); // Output: "Hello World !"const array = [1, 2, 3, 4, 5];
array.reverse();
console.log(array); // Output: [5, 4, 3, 2, 1]const array = [3, 1, 4, 2, 5];
array.sort();
console.log(array); // Output: [1, 2, 3, 4, 5]const array = [1, 2, 3, 4, 5];
array.forEach((element) => {console.log(element);
});
// Output:
// 1
// 2
// 3
// 4
// 5const array = [1, 2, 3, 4, 5];
const newArray = array.map((element) => {return element * 2;
});
console.log(newArray); // Output: [2, 4, 6, 8, 10]const array = [1, 2, 3, 4, 5];
const newArray = array.filter((element) => {return element % 2 === 0;
});
console.log(newArray); // Output: [2, 4]const array = [1, 2, 3, 4, 5];
const sum = array.reduce((accumulator, currentValue) => {return accumulator + currentValue;
}, 0);
console.log(sum); // Output: 15

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

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

相关文章

聊聊logback的DuplicateMessageFilter

序 本文主要研究一下logback的DuplicateMessageFilter TurboFilter ch/qos/logback/classic/turbo/TurboFilter.java public abstract class TurboFilter extends ContextAwareBase implements LifeCycle {private String name;boolean start false;/*** Make a decision …

上机实验四 图的最小生成树算法设计 西安石油大学数据结构

实验名称:图的最小生成树算法设计 (1)实验目的: 掌握最小生成树算法,利用kruskal算法求解最小生成树。 (2)主要内容: 利用kruskal算法求一个图的最小生成树,设计Krus…

Xilinx Artix7-100T低端FPGA解码MIPI视频,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优缺点4、详细设计方案设计原理框图OV5640及其配置权电阻硬件方案MIPI CSI-2 RX SubsystemSensor Demosaic图像格式转换Gammer LUT伽马校正VDMA图像缓存AXI4-Stream toVideo OutHDMI输出 5、…

数据校验:Spring Validation

Spring Validation概述 在开发中,我们经常遇到参数校验的需求,比如用户注册的时候,要校验用户名不能为空、用户名长度不超过20个字符、手机号是合法的手机号格式等等。如果使用普通方式,我们会把校验的代码和真正的业务处理逻辑耦…

K8S篇之etcd数据备份与恢复

一、etcd备份与恢复 基本了解: 1、k8s 使用etcd数据库实时存储集群中的数据,安全起见,一定要备份。 2、备份只需要在一个节点上备份就可以了,每个节点上的数据是同步的;但是数据恢复是需要在每个节点上进行。 3、etcd…

系统韧性研究(4)| 系统韧性的技术分类

系统韧性技术是任何提高系统韧性的架构、设计或实现技术。这些技术(例如缓解措施,如冗余、保障措施和网络安全对策)或被动地抵御逆境或主动检测逆境,并对其做出反应,亦或者从它们造成的伤害中恢复过来。系统韧性技术是…

软件测试/测试开发丨探索标识符在编程中的重要性

点此获取更多相关资料 什么是标识符 在 Python 中,标识符是用来标识变量、函数、类、模块和其他对象的名称。需要注意的是,在定义标识符的时候,虽然很自由,但是也不能随心所欲,合法的标识符需要遵从一定的规范。 命…

ArcGIS实现矢量区域内所有要素的统计计算

1、任务需求:统计全球各国所有一级行政区相关属性的总和。 (1)有一个全球一级行政区的矢量图,包含以下属性(洪灾相关属性 province.shp) (2)需要按照国家来统计各个国家各属性的总值…

突然消失的桌面文件如何恢复?详细教程让你轻松解决问题!

桌面文件突然消失,对于很多人来说,可能是个令人头疼的问题。这些文件可能包含重要的信息,也可能是数日甚至数周的努力成果。那么,当这种情况发生时,我们如何恢复丢失的文件呢?本文将提供一些实用的建议。 1…

【ArcGIS Pro微课1000例】0031:las点云提取(根据范围裁剪点云)

本文讲解ArcGIS Pro3.0中,las点云数据的提取(根据范围裁剪点云)方法。 文章目录 一、加载数据二、工具介绍三、点云裁剪一、加载数据 打开ArcGIS Pro,新建地图,加载配套实验数据包中的0031.rar中的点云数据point.las与范围bound.shp,如下图所示: 二、工具介绍 名称:提…

table表格的某一行数据如何回填

目的:table表格的某一行数据的输入框按钮触发对话框,对话框选择的数据再回填到table表格的这一行中。 1.插槽中传递本行的index: v-slot"{ row, $index }" 2.点击事件或者change事件传递index: click"val > tpmClicked($index)"…

一张图搞懂什么是BCD8421编码

如图所示 BCD8421编码的意义是 用四位二进制数表达一位的十进制数 因此十进制下的0~9在BCD8421编码下与其二进制表达是一样的 而多位的十进制数 比如说“10” 则需要将它拆分成两个单独的数“1”和“0” 分别用BCD8421编码表示这两个数 十进制“1” -> 0001 十进…

JAVA基础7:数组

1.数组定义格式 1)数组概述 一次性声明大量的用于存储数据的变量 要存储的数据通常都是同类型数据,比如:考试成绩 数组(array)是一种用于存储多个相同类型数据的存储模型 2)数组定义格式 格式一:数据类…

在虚拟环境中pip包不在虚拟环境里

这里写自定义目录标题 结合网上多个大佬的方法终于解决了. 首先修改自己虚拟环境目录下的site文件: vim /home/XXX/.conda/envs/XXX/lib/pythonXXX/site.py 把 USER_BASE 和 USER_SITE 改成虚拟环境目录. USER_BASE: ‘/home/XXX/.conda/envs/XXX’ (exists) USER_SITE: ‘/ho…

内衣洗衣机和手洗哪个干净?好用的内衣洗衣机推荐

在日常生活中,我们的衣服不可避免地会沾染上各种细菌、毛发和污渍,将它们与贴身衣物混合清洗,很容易发生交叉感染,而被感染后,贴身衣物也有可能导致我们人体引起皮肤病。这也是为什么大部分人都喜欢用手洗的原因&#…

c# 和 c++ 匿名互相传递参数

在C#和C之间进行匿名参数传递需要使用Interop服务。下面是一个示例,展示了如何在C#和C之间传递匿名参数: 在C#中: using System; using System.Runtime.InteropServices;// 定义C中的匿名函数签名 [UnmanagedFunctionPointer(CallingConven…

@CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思

@CacheInvalidate 注解是 JetCache 框架提供的注解,它是由阿里巴巴开源的组织 Alibaba Group 开发和维护的。JetCache 是一款基于注解的缓存框架,提供了丰富的缓存功能和灵活的配置选项,可用于增强应用程序的性能和可扩展性。JetCache 支持多种缓存后端,包括内存缓存、Redi…

矩阵的除法

B/A 如果矩阵A可逆,那么 证明: A/AB 如果矩阵A和B都可逆,那么 证明:

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于回溯搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

优雅的Java编程:将接口对象作为方法参数

theme: smartblue 目录 概述 在Java编程中,方法的参数传递方式通常是通过基本类型、对象引用或者集合等方式。然而,一种更加优雅且灵活的设计模式是将接口对象作为方法的参数。这种方式为我们带来了许多好处,包括降低耦合性、实现多态性和可…