数组

本文详细介绍了JavaScript中的数组,包括创建方式、特点、数组长度与索引的关系,以及push、pop、unshift、shift、reverse、sort、splice、slice、concat和join等常用方法。通过实例演示了如何操作和遍历数组,帮助理解JavaScript数组的基本概念和操作技巧。
摘要由CSDN通过智能技术生成

数组

博客

一、数组

  • JS 里面的数据类型, 叫做 Array
  • 一个复杂数据类型
  • 是一个盒子, 里面能存储很多的数据, 但是是按照 下标进行排列的

二、数组的创建方式有两种

1. 字面量创建
  • var a = []
  • [] 代表一个空数组
2. 内置构造函数创建
  • 使用这个内置构造函数 Array 去创建一个数组

  • var a = new Array()

  • 使用内置构造函数有三种方式:

  1. 不传递参数

    var a = new Array(),创建一个新的空数组

  2. 传递一个参数, 并且是一个数字

    var a = new Array(10),创建一个数组, 数组里面有 10 个数据, 但是每一个数据都是空的

  3. 传递多个参数, 什么数据类型无所谓

    var a = new Array(数据1, 数据2, 数据3, …),传递多少个数据,就表示创建的数组里面有多少个数据

三、数组的特点

1. 数组是一个有序的数据集合
  • 按照下标(索引) 进行排列
  • 下标是 从 0 开始, 依次 +1 排列
2. 数组的 索引(下标) 是一个读写的属性
  • 可以通过 索引 获取数组中的某一项

    • 想获取数组中哪一个数据,数组名[索引]
    • 当获取一个没有的索引的时候, 那么得到的就是 undefined
  • 可以通过 索引 设置数组中的某一项

    • 设置数组某一位数据的时候, 数组名[索引] = 值

    • 当设置一个超过数组长度的索引的时候, 就是添加

      • 当设置的超过长度很多的时候, 那么中间的位置用 空 来补齐,比如数组长度是 5, 设置索引 100 的数据, 中间的都用空来填充
3. 数组有一个属性叫做 length
  • 用来表示数组的长度, 也是一个读写的属性

  • 可以通过 length 属性读取数组的长度

  • 数组名.length,获取到的就是该数组的长度, 也就是有多少个数据,是一个 number 数据类型

  • 可以通过 length 属性设置数组的长度

    • 数组名.length = 数字
    • 当设置的比数组本身长度小的时候, 那么就相当于把后面的删除了
    • 当设置的比数组本身长度大的时候, 就相当于扩展了数组, 多出来的位置用空补齐
4. 数组的 length 和 索引 的关系
  • 数组的 length 和 索引 一定是存在的
  • 数组永远第一位索引一定是 0
  • 数组永远最后一位索引是数组的 length - 1
5. 可以使用循环来遍历数组
  • 因为数组的索引是按照数字排列, 从 0 开始依次 +1, 循环刚好也可以得到这样一组有规律的数字,所以可以使用循环来遍历数组(遍历: 从头到尾依次查看数组里面的数据)

四、数组常用方法

  1. push()

    语法: 数组.push(数据)
    作用: 向数组的末尾添加一个数据
    返回值: 添加以后数组的长度

  2. pop()

    语法: 数组.pop()
    作用: 删除数组的最后一个数据
    返回值: 就是删除掉的数据

  3. unshift()

    语法: 数组.unshift(数据)
    作用: 在数组的最前面添加一个数据
    返回值: 添加以后数组的长度

  4. shift()

    语法: 数组.shift()
    作用: 删除数组的 [0] 位置数据, 最前面一个数据
    返回值: 被删除的数据

  5. reverse()

    语法: 数组.reverse()
    作用: 反转数组, 直接改变原始数组
    返回值: 反转以后的数组

  6. sort()

    语法:
    1. 数组.sort(),按照一位一位的顺序来进行排列的
    2. 数组.sort(function (a, b) { return a - b }),按照数字的从小到达进行排列
    3. 数字.sort(function (a, b) { return b - a }),按照数字的从大到小进行排列
    作用: 对原始数组进行排序, 直接改变原始数组
    返回值: 排序好的数据

  7. splice()

    语法:
    1. 数组.splice(开始索引, 多少个)
    + 将数组里面的数据从 开始索引 开始截取, 截取指定个数据
    + 把截取出来的数据组合成一个新的数组当作返回值
    2. 数组.splice(开始索引, 多少个, 替换数据1, 替换数据2, 替换数据3, …)
    + 替换数据, 可以是一个, 可以是两个, 多少个都无所谓
    + 从哪一个索引开始截取, 填充到哪一个索引位置, 剩下的向后顺延
    + ⚠️注意: 从哪里开始截取, 从哪里开始填充
    + 开始索引, 就是第一个填充数据的索引
    作用: 截取数组里面的数据, 进行替换(可以替换可以不替换)
    返回值: 截取出来的所有内容, 组合成一个新的数组

  8. slice()

    语法:
    1. 数组.slice(开始索引, 结束索引)
    + 获取数组中从 开始索引 到 结束索引 的数据
    + 以一个新数组的形式返回
    + ⚠️注意: 包前不包后, 在获取的过程中, 包含开始索引数据, 不包含结束索引数据
    2. 数组.slice(开始索引, 结束索引)
    + 结束索引可以写一个 负整数
    + 当书写一个负整数的时候, 实际上就是相当于 数据.length + 负整数

    作用: 获取数组中的部分数据, 不改变原始数组
    返回值: 从数组中获取的一部分数据

  9. concat()

    语法: 数组.concat(数组1, 数组2, 数组3, …)
    作用: 把多个数组拼接到原始数组的末尾, 不改变原始数组
    返回值: 拼接好的数组

  10. join()

    语法: 数组.join(‘连接符’)
    作用: 是把数组里面的每一项连接成一个字符串, 不改变原始数组
    返回值: 就是使用连接符连接好的字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值