5-数组

作者: 遨游于学海 | 来源:发表于2023-01-26 19:04 被阅读0次

数组(Array),即将一堆数据放在一起。在计算机科学中,数组指的是相同类型的数据放在一起,但是JavaScript中的数组可以存放不同类型的数据。

数组概述

在数组中,可以用一个名称存放多个值,每一个值称之为该数组的一个元素,也就是说数组中可以存储多个元素,那么它就有一个重要的属性,就是元素的数量,我们称之为数组的长度(length)。
那么我们如何区分这些元素呢?在数组中,这些元素是按顺序存储的,我们用从0开始数的一个整数作为它的标识符,称之为索引。不过,在自然语言中我们是从1开始数的,因此索引为0的元素指的是数组中的第一个元素,因此一个数组的索引的取值范围是0~数组长度-1的整数闭区间中,当索引不在这个区间中,则会报错:超出索引。长度为0的数组就是没有元素的数组,简称为空数组。

数组的声明和初始化

由于一个变量可以存储数组,因此只需要声明变量即可,数组不需要额外声明,也可以在声明变量时初始化一个数组,然后将它赋值给这个变量,这也有很多种方式,第一种是使用[]:
【例5-1】声明一个变量,并初始化一个空数组赋值给该变量

let 数组名=[];

当然,我们也可以声明变量后,之后初始化,不一定需要在声明时同时初始化。
在初始化时,我们也可以存储值。
【例5-3】

let arr=[3,5,8];

上面会在名为arr的变量中存储一个数组,在该数组中,索引为0的值是3,索引为1的值是5,索引为2的值是8,数组的长度是3.
初始化之后,我们就可以使用[]可以获得和修改数组中某个索引的值,获得数组中某个索引的值的格式:数组名[索引],修改值的方式是数组名[索引]=值;
【例5-4】续【例5-3】

console.log(arr[0]); // 获得数组arr中索引为0的值
arr[1]=3; // 将arr索引为1的值改为3
console.log(arr[1]); // 我们可以看到arr中索引为1的值发生了变化,其它索引的值没有发生变化

在JavaScript中,数组的长度是可以改变的,因此我们不一定从0开始赋值,也可以跳着赋值,在这种情况下,中间索引的值默认为undefined。
我们可以使用数组名.length来获得当前数组的长度,结合循环结构等,我们可以更方便地做很多事情,例如给数组赋一串有规律的值等。
【例5-5】给数组从0开始的索引分别赋值为1、2、3、...10

let arr=[];
for(let i=1;i<=10;i++){
arr[i-1]=i;
}

然后也可以求和
【例5-6】续【例5-5】求数组中的和

let sum=0;
for(let i=0;i<=arr.length-1;i++){
sum+=arr[i];
}

上面也可以写成:

let sum=0;
for(let i=0;i<arr.length;i++){
sum+=arr[i];
}

我们也可以通过实例化Array类的方式,来声明一个数组

let arr=new Array(); // 空数组
let arr=new Array(1,2,3); // 也可以在声明时初始化

数组的遍历

按顺序访问数组中的每一个值,我们称之为遍历数组,因此上文使用for循环也是遍历数组,遍历数组除了使用循环结构之外还有其它一些方式,比如for...in循环和forEach等。由于后者涉及到了函数,因此之后再说。

数组的操作

在JS中,无论是使用何种方式初始化的数组,它都是Array类的对象,因此可以使用Array类的非静态方法。上文所述的forEach方法就是Array类的方法之一。

相关文章

  • C语言基础5-数组

    声明一个数组:数据类型 数组名称[长度]; C语言中的数组初始化是有三种形式的,分别是:1、 数据类型 数组名称[...

  • php基础知识5-数组

    php是一门计算机编程语言,主要应用于开发web应用(网站建设等),本系列博客从php基础语法出发,介绍php基础...

  • leetcode List problems

    翻转链表I Example: Input: 1->2->3->4->5->NULLOutput: 5->4->3-...

  • (日语学习)假名书写大赛

    2组-5-小与

  • php初级讲义5-常量与数组

    常量的定义 常量是相对于变量来说的,常量名由字母数字下划线构成且不能以数字开头,与变量不同,常量不需要使用$作为牵...

  • js基础5-数组与循环结构

    50多个英雄怎么办?很难,变量的数据太多了 有没有一种简单的办法,将一个英雄的所有信息放到一个变量中? 有:数组 ...

  • 反转链表

    输入:1->2->3->4->5->NULL 输出:5->4->3->2->1->NULL /*** Defini...

  • 反转链表(python3实现)

    示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 解题思路: ...

  • LeetCode206(反转链表)

    题目: 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 解题...

  • leetcode的题目206

    206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->...

网友评论

      本文标题:5-数组

      本文链接:https://www.haomeiwen.com/subject/mzmkhdtx.html