1. JavaScript 基础

  2. 深入数据和类型

  3. 函数进阶

  4. 运算符

  5. 浏览器存储

  6. Document

  7. Web API

  8. 事件

  9. 工具与规范

  10. 实例

  11. 练习

很多时候,需要按顺序保存一些数据,比如班里的成绩排名。

在 JavaScript 中有一个 Array(数组)可以按顺序保存数据。

语法如下:

let arr = [value1, value2, value3... ]

只需将数据按顺序排列,并且用 , (逗号)分隔,左右加上方括号。便能创造一个包含数据的数组。

数组中的数据下标从 0 开始,因此最后一个数据的下标便为数组长度 - 1,数组的下标范围为 0 ~ (长度 - 1)

引用数组中元素的语法是 arr[index]index 是下标。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
alert(pets[0]) // 小猫
alert(pets[1]) // 小狗
alert(pets[2]) // 小螃蟹

空数组

可以用以下两种方式声明一个空数组。

let arr = new Array()
let arr2 = []

获取数组长度

数组的 length 属性表示的是数组的长度。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
alert(pets.length)

修改元素

直接通过元素的下标重新赋值便能修改元素。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
pets[1] = "小猪"
alert(pets)

新增元素

头部新增

通过数组的 unshift 方法可以往头部新增一个元素。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
pets.unshift("小牛")
alert(pets)

尾部新增

通过数组的 push 方法可以往末尾新增一个元素。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
pets.push("小牛")
alert(pets)

弹出元素

头部弹出

shift 方法可以弹出(删除并返回)第一个元素。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
let first = pets.shift()
alert(first)
alert(pets)

尾部弹出

pop 方法可以弹出(删除并返回)最后一个元素。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]
let last = pets.pop()
alert(last)
alert(pets)

实例

下例是使用 while 循环输出数组中的元素的实例。

$$jsdemo$$
$$edit$$
let pets = ["小猫", "小狗", "小螃蟹"]

let i = 0
while (i < pets.length) {
    console.log(pets[i])
    i++
}

下例是使用 while 循环收集同学数据并输出的实例。

$$jsdemo$$
$$edit$$
let names = []
while (true) {
    let name = prompt("请依次输入班上同学的名字。(完成点取消)")
    if (name) {
        names.push(name)
    } else {
        break
    }
}
alert(`班上共有${names.length}名同学`)
alert(`它们是${names}`)

练习

  1. 设计一个程序,收集你们班同学的名字,记得询问性别,按性别分男女组。
  2. while 循环实现一个冒泡排序,使得输入任何数组都能从小到大排列。冒泡排序讲解: youtube 视频b站视频