数组的介绍及使用

网络安全侠
• 阅读 1787

JavaScript 中的数组常用于在单个变量中存储多个值。数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存)。创建数组的目的就是为了保存更多的数据。

数组概念和语法

概念:数组是一个特殊变量,一次可以容纳多个值。

特点:有顺序,有长度。

作用:使用单独的变量名来存储一系列的值。

语法如下所示:

var array_name = [item, item2, item3, ...];

其中 array_name 就是数组名,其实就是变量名,而数组中的元素全部是包围在中括号 [] 内,元素中间使用逗号分隔。数组中的元素可以是任意类型,类型可以是不同的。

创建数组

在 JavaScript 语言中,要创建一个数组,最常用的方式,我们可以使用字面量来创建。

示例:

创建一个简单的数组,数组名为:

var array1 = ["HTML", "VUE", "JAVASCRIPT", "CSS"];

代码中的空格和换行符并不是重要的,声明多个值时我们还可以跨越多行:

var array2 = [
    "HTML",
    "VUE",
    "JAVASCRIPT",
    "CSS"
];

除此之外,我们还可以使用关键字 new 来创建数组:

var array3 = new Array();
arrs[0] = 1;
arrs[1] = 2;
arrs[2] = 3;
console.log(array3);
// 输出:[ 1, 2, 3 ]

这种方式还有另一种简洁写法,就是直接在 Array 后面的小括号中添加值:

var array4 = new Array("xkd", "summer", "jack");
console.log(array4);

// 输出:[ 'xkd', 'summer', 'jack' ]

访问数组

我们可以通过数组名以及数组下标访问数组中的元素。因为数组是有序的,因此它就会相对应有自身的序号,而这个序号就是每个元素对应的下标(也叫做索引),数组的下标是从零开始,到数组长度减一结束 。比如说数组中第一个元素的索引为0、第二个为1、依次类推。

示例:

访问数组 name 中索引为 0 的元素的值,并输出这个值:

var username = ["Iven", "Eric", "Tony", "Hter", "John"];

console.log("数组下标为0的字符输出结果为:" + username[0]);   

// 输出:Iven

访问数组中的最后一个元素,并输出这个值:

var name = ["Iven", "Eric", "Tony", "Hter", "John"];
var last = name[name.length - 1];
console.log(last);

// 输出:John

数组长度

数组与字符串一样也有长度,我们可以通过 length 属性获取数组的长度,数组的长度是指数组中存放的元素个数。并且数组的长度始终大于数组的最高数索引。

示例:

分别定义一个字符串和数组,然后输出这个字符串和数组的长度:

var arr1 = '新版侠课岛即将推出';
console.log("长度为:" + arr1.length);       
// 长度为:9    

var arr2 = ["Iven", "Eric", "Tony", "Hter", "John"];
console.log("长度为:" + arr2.length);     
// 长度为:5

数组取值和赋值

除了可以获取数组的长度,我们还可以通过下标索引获取元素的值,格式为 数组名[下标]

示例:

例如我们定义一个数组 arr,然后获取索引为 0、3 的位置所对应的值:

var arr = ["王语嫣", "段誉", "萧峰", "虚竹"];
console.log(arr[0]);    // 王语嫣 
console.log(arr[3]);    // 虚竹

因为下标的范围是 0 到数组长度减一(arr.length-1),所以如果下标不存在,则会返回 undefined。

示例:

例如上述的数组 arr 下标最大值为 3,那么我们获取下标为 4 的元素的值,则输出undefined:

console.log(arr[4]);    // undefined

我们还可以通过 数组名[下标] = 值 的格式给数组赋值,而如果指定下标已经有对应的值,则会把原来的值覆盖。

示例:

例如数组 arr2 中,下标为 5 的元素为 “殷离”,此时我们使用 arr2[5] = "金毛狮王",则会覆盖 “殷离”的值:

var arr2 = ["周芷若", "赵敏", "张无忌", "宋青书", "灭绝师太", "殷离"];
arr2[5] = "金毛狮王";  // 把 "殷离" 替代了"金毛狮王"

而如果元组中没有指定下标元素,则会给数组新增一个元素值:

arr2[6] = "杨不悔";  // 给数组新增加了一个 "杨不悔" 的值
console.log(arr2);

在浏览器中,执行代码,输出改变后的数组arr2
数组的介绍及使用

遍历数组元素

之前其实我们学习循环的时候就讲过数组的遍历,遍历数组最常用的就是 for 循环。

示例:

首先定义一个数组,然后通过 for 循环将数组以无序列表的形式遍历输出:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS_侠课岛(9xkd.com)</title>
</head>
<body>
<div id = "xkd">
</div>
<script>
  var lst = ["Iven", "Eric", "Tony", "Hter", "John"];
  name = "<ul>";
  for(i=0; i<lst.length; i++){
    name += "<li>" + lst[i] + "</li>";
  }
  name += "</ul>";
  document.getElementById("xkd").innerHTML = name;
</script>
</body>   
</html>

在浏览器中打开:
数组的介绍及使用

上述代码中,我们在 JavaScript 代码插入了 HTML 代码,使得数组 lst 在浏览器中的输出是一个无序列表的样式。

动手小练习

  1. 定义一个数组,分别输出数组的长度和多个下标值。
  2. 把1-100之间所有的奇数,放到数组中。
  3. 把1-100之间能被3整数的数字,存到数组中。
  4. 求一组数中的所有数的和以及其平均数。

链接:https://www.9xkd.com/

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
java集合框架
一、为什么要使用集合单个数据,可以用变量保存;多个数据,可以用数组保存;但是对于存储多个数据且数量不确定的情况,使用集合;二、集合和数组的区别(1)数组:1、只能保存同一种类型的数据;2、数组一旦创建,容量不可改变;3、数组可以保存引用类型的数据和基本类型的数据;(2)集合:1、可以保存不同类型的数据;2
Stella981 Stella981
4年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
4年前
JAVA 基础3
一.数组的概念数组可以看成是多个数据类型的集合,是对这些数据进行统一的管理;数组的变量是引用类型,数组本身是对象,数组中的每个元素相当于该对象的成员变量;数组的元素可以是任何数据类型,包括基础数据类型和引用类型;二.数组的声明方式数据类型\\数组名称new数据类型
Stella981 Stella981
4年前
HashMap 的底层实现原理
HashMap是一个用于存储KeyValue键值对的集合,每一个键值对也叫做Entry。这些个Entry分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。 !(https://oscimg.oschina.net/oscnet/8495d30fe00a2865dd74088d2
Wesley13 Wesley13
4年前
Java入门系列
这篇文章为你搞懂2个问题1.什么是数组,数组是干嘛用的?2.数组如何使用?考试结束后,老师给二狗安排了一项任务,统计班里40名同学的平均分。按照我们之前的做法,我们可以定义40个变量然后再相加除以40求出平均分,但是这样太繁琐了,有没有更好的办法呢?那就是使用数组。数组数组其实也是一个变量,顾名思义存储了一组相同类型的
Stella981 Stella981
4年前
Javascript数组系列一之栈与队列
所谓数组(英语:Array),是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。---百度百科简单理解,数组就是数据的有序列表。Array在Javascript中属于最常用的数据类型之一了,与其它语言一样Javascript中的数
Wesley13 Wesley13
4年前
Java基础之数组队列及Java堆外内存学习笔记[图]
Java基础之数组队列及Java堆外内存学习笔记\图\1.数组1.1数组基本概念:数组是一个容器,可以存储同一数据类型的N个数据;数组是一个数据结构,是数据结构中访问速度最快的;数组是直接通过下标进行定位;数组是属于引用数据类型(数组名中存储的是内存首地址);数组本身只有有length属性(获取数组能存储的数据个数),但是
Wesley13 Wesley13
4年前
Java基础学习总结(21)——数组
一.数组的基本概念数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组的元素可以是任何数据类型,包括基本类型和引用类型。C和C中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆
小万哥 小万哥
2年前
Python 数组和列表:创建、访问、添加和删除数组元素
Python没有内置支持数组,但可以使用Python列表来代替。数组本页将向您展示如何使用列表作为数组,但要在Python中使用数组,您需要导入一个库,比如NumPy库。数组用于在一个变量中存储多个值:示例,创建一个包含汽车名称的数组:Pythoncars
小万哥 小万哥
2年前
C 语言数组教程:定义、访问、修改、循环遍历及多维数组解析
C数组数组用于将多个值存储在单个变量中,而不是为每个值声明单独的变量。要创建数组,请定义数据类型(例如int)并指定数组名称,后面跟着方括号。要将值插入其中,请使用逗号分隔的列表,并在花括号内使用:cintmyNumbers25,50,75,100