JavaScript数据结构-数组

数组:一个标识符,可以存储多个数据,并且数据的类型可以不同。

【创建数组的方式】:

  • ·1、字面量方式
    书写格式: 关键字 标识符 赋值符号 中括号 分号
    例: let arr = [] ;
  • 2、构造函数
    书写格式:关键字 标识符 赋值符号 new Array()分号
    例:let arr = new Array();

字面量与构造函数的区别
字面量创建的数组,解析速度更快。(效率高)

  • 原因:
    1、字面量属于JSON格式,JS引擎可以直接解析。
    2、构造函数,就需要先调用构造函数,再进行JS引擎的解析。

注:中扣号里每个数据之间的分隔符是逗号,每个数据成为元素
例子:let account1 = [“A”, “B”, 100, false];

【使用数组里的数据】
每个元素都有自己在数组中的唯一索引(下标),我们可以通过索引(下标)来获取数据
注:下标的起始值是0

  • 例子:account1[1]结果为B
    访问数组一个不存在的下标,会得到undefined

【数组的属性】
[获取数组的长度(数据个数)]:

数组名.length
[数组的遍历]

  • 1、遍历数组中的每个值(获取数组中的每个数据):
    例:
    let arr = [“ABC”, “123”, 1000, false, true]
    for (let items of arr) {
    console.log(items);
    }
  • 2、遍历数组中的每个下标(获取数组中的每个数据的下标)
    例:
    let arr = [“ABC”, “123”, 1000, false, true]
    for (let index in arr) {
    console.log(index);
    }

[查找]
1、indexOf
工作原理:从第一个值开始向后查找,返回第一个与查找内容相等数据的下标,如果没找到返回-1

  • 书写格式:数组名.indexOf(查找内容)
    例子:
    let arr = [“ABC”, “123”, 1000, false, true]
    arr.indexOf(“ABC”);

2、 lastIndexOf
工作原理:从最后一个值向前查找,返回第一个与查找内容相等数据的下标,如果没找到返回-1

  • 书写格式:数组名.lastIndexOf(查找内容)
    例子:
    let arr = [“ABC”, “123”, 1000, false, true]
    arr.lastIndexOf(“ABC”);

【数组的方法】
[新增]

  • push
    书写格式: 数组名.push(添加的内容)
    注:添加内容可以是多个数据(分隔符逗号)
    功能:在数组后面添加数据

  • unshift
    书写格式: 数组名.unshift(添加的内容)
    注:添加内容可以是多个数据(分隔符逗号)
    功能:在数组前面添加数据

[删除]

  • pop
    书写格式: 数组名.pop()
    功能:删除数组最后一个数据

  • shift
    书写格式: 数组名.shift()
    功能:删除数组第一个数据
    [查找]
    slice()方法

  • 特点:
    1、不会改变原数组
    2、返回参数对应的数据

工作原理

  • 一个参数: 这个参数就是获取数组数据的起始下标。
    即:返回从起始下标到数组最后一个数据。

  • 两个参数:
    参数1:获取数组的起始下标。
    参数2:获取数组的结束下标。

功能:返回参数1到参数2的数据。(不包含参数2下标的数据)

  • 注:
    1、如果出现负值,则数组长度与其相加。
    2、如果下标的数据不存在,则返回空数组,即[]

【splice方法(删除、修改、插入)】
注:没有满足条件的内容,会返回[]
[删除]

  • 一个参数:
    代表从这个参数作为下标取值到数组最后一个数据。

  • 给两个参数:
    参数1:代表起始下标
    参数2:代表获取数据的个数
    [修改]

  • 给三个参数:
    参数1:起始下标
    参数2:个数(修改几个数据)
    参数3:修改后的数据

  • 给n个参数:
    参数1:起始下标
    参数2:个数(修改几个数据)
    参数3及以后的参数:修改后的数据

[插入]

  • 给三个参数:
    参数1:起始下标
    参数2:0
    参数3:插入参数1前的数据
  • 给n个参数:
    参数1:起始下标
    参数2:0
    参数3及以后的参数:插入参数1前的数据

【数组与字符串的相互转换】
[字符串转数组]

  • 书写格式:字符串.split(分隔符)
    例子:
    let str = “123&abc”;
    let arr = str.split("&");

[数组转字符串]

  • 书写格式:数组.join(分隔符);
    例子:
    let arr = [2020, 2, 15];
    let str = arr.join("-");

【concat方法】

  • 书写格式:数组1.concat(数组2)
    返回整合2个数组的数据
    例:
    let arr1 = [1, 2, 3];
    let arr2 = [“A”, “B”, “C”];
    let arr3 = arr2.concat(arr1);

【includes方法】

  • 书写格式:数组名.includes(查找的内容)
    例子:
    let arr = [1, 2, 3, 4];
    arr.includes(1
    ————————————————
    版权声明:本文为CSDN博主「缪磊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Miao_Lei666/article/details/114225999
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值