数组
定义
[数据1 , 数据2 , ...]
-
js中数组的定义:
-
简单定义
-
方法1: let 数组名=new Array(); //定义长度为0的数组 数组名[数据1 , 数据2 , ...]; //给数组赋值 方法2: let 数组名=new Array(size); //定义数组,并设定数组长度为size 数组名[数据1 , 数据2 , ...]; //给数组赋值 不可超过长度size 方法3: let 数组名=new Array(数据1 , 数据2 , ...); //定义数组,并赋值,数组长度为数据个数 调用数组: 数组名[数据下标] //下标从0开始
-
-
多维及键值对
-
键值对只能为二维及以上,第一层下标依旧是默认0开始,其他层以{}为标志
-
普通定义中格式为: [{ 键名1:键值 , 键名2:键值, ...}] [{ 键名1:键值 , 键名2:键值, ...},{ 键名1:键值 , 键名2:键值, ...}] 键名不加引号,但使用键名时需要加上 array[一层下标]['键名']
-
-
数组的一些函数
-
数组名.length;
输出数组长度 -
Array.from()
将伪数组转换为数组,只要有长度length即可转换-
例如字符串
-
let s='jgasfa24'; let sshu=Array.from(s); console.log(sshu); ['j', 'g', 'a','s', 'f', 'a','2', '4']
-
-
Array.of()
将一组值转换为数组- 类似声明数组
-
Array.isArray( ? )
判断?是否为数组- 返回布尔值
-
值的增删
-
?.push()
可以接收任意参数,逐个添加到数组末尾,并返回修改后数组的长度let arr=new Array(1,2,3,4); console.log(arr.push(11.5,4.5)); 6 [ 1, 2, 3, 4, 11.5, 4.5 ]
-
?.pop()
移除数组最后一项,减少length值,然后返回移除的项let arr=new Array(1,2,3,5); console.log(arr.pop()); 5 [1,2,3]
-
?.unshift()
可以接收任意参数,逐个添加到数组前,并返回修改后数组的长度let arr=new Array(1,2,3); console.log(arr.unshift(11.5,4.5)); 5 [ 11.5, 4.5, 1, 2, 3 ]
-
?.shift()
移除数组第一项,减少length值,然后返回移除的项let arr=new Array(1,2,3); console.log(arr.shift(11.5,4.5)); 1 [2,3]
-
-
数据排序 会改变原数组
-
?.reverse()
翻转数组顺序let arr=new Array(1,2,3); arr.reverse(); [3,2,1]
-
?.sort()
从小到大排序,排序方法根据数组转换字符串后排序let arr=new Array(5,4,2,9); arr.sort(); [ 2, 4, 5, 9 ]
-
-
数组操作
-
?.concat()
基于?数组创建一个新的数组(不影响?数组let arr=new Array(5,4,2,9); let ar1=arr.concat(); console.log(ar1); [5,4,2,9]
-
?.slice()
基于?数组的项创建新数组(不影响?数组-
单值,从数组的第n开始,直到数组结束
-
双值n,m 从n开始,直到m(不包括m
单: let arr=new Array(5,4,2,9); let ar1=arr.slice(3); console.log(ar1); [9] 双: let arr=new Array(5,4,2,9); let ar1=arr.slice(1,3); console.log(ar1); [4,2,9]
-
-
?.splice()
会改变原数
-