js数组及其常用属性和方法

数组

功能:一个标识符存储多个数据

声明数组:

-字面量声明:let arr = [];

-构造函数声明:let arr = new Array();

使用数组中的值:arr[0]

数组中的每个值,都会有对应的一个下标(索引),可以通过下标,获取数组当中的值,下标的起始值是0,数组中第一个值下标为0,第二个值为1,以此类推。

注:获取数组不存在值的下标,会得到undefined

【扩展】

字面量和构造函数的区别:字面量的解析效率比构造函数高,原因:字面量属于JSON格式,可以直接被JS解析。构造函数需要先调用构造函数,在进行JS引擎解析。

数组的适用场景

-解构:把引用数据类型,分解成基本数据类型

let i = 1 ;
let j = 2 ;
[i, j] = [j, i];
console.log(i, j);//2 1

注:解构的左右数据类型需要一致

-批量赋值

let [a, b, c] = [1, 2, 3];
console.log(a, b, c);//1 2 3

数组的遍历

获取数组的所有值:for(let item of arr)

获取数组的所有的下标:for(let index in arr)

数组的属性:

数组的长度:arr.length返回数组内容的个数

数组的方法:

arr.push():数组后面添加数据

arr.unshift():数组前面添加数据

arr.pop():从数组后面删除数据(一次只能删一个)

arr.shift():从数组前面删除数据(一次只能删一个)

arr.includes():查找数组里的内容,存在返回true,不存在返回false

arr.indexOf():查找数组里的内容,存在返回值的下标,不存在返回-1(只查找第一个)

arr.lastIndexOf():查找数组里的内容,存在返回值的下标,不存在返回-1(查找后一个)

注:数组中有NaN时,includes可以找到并返回为true,但indexOf找不到,只能返回-1

arr.slice(参数1,参数2):批量获取数组内容

获取的范围从参数1下标开始到参数2结束,但不包含参数2的内容

如果参数2是负数,会用数组的长度与其相加;

若没有满足范围的值,返回数组空;

若参数只有1个,则获取从下标这个参数到数组的最后一个值。

slice方法不会改变原数组

arr.splice(参数1,参数2,参数3)(会改变原数组)修改数组

一个参数:从这个参数的下标截取到最后一个

两个参数:从第一个参数开始,截取参数2的个数的值(第1个参数,起始下标;第2个参数,截取个数)

三个参数:第1个参数,起始下标;第2个参数,截取个数;第3个参数及第3个参数以后,都是插入或修改的值

arr.join():数组转字符串,以括号里的内容进行分割

str.split():字符串转数组,以括号里的内容进行分割

-扩展运算符:...

字符串转数组:arr = [...str];

数组拼接:

let arr1 = [1, 2, 3];
let arr2 = ["a", "b", "c"];
let arr3 = [...arr1, ...arr2];
console.log(arr3);//[1, 2, 3, "a", "b", "c"]

【扩展知识】

多维数组,JS没有多维数组,但是JS是弱类型语言,数组可以存数组,变相的实现了多维数组的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值