1.定义:
数组,是存储1个或多个数据的容器,是一组内存空间,通常用来批量处理数据,这组内存空间的名字叫做数据名
存储数据管理:
数组对其自身储存的数组没有限制,数量还是类型均可
通过数组的下标来管理数组元素,不能直接通过数组名来操作数组元素,需要结合下标
数组名0length:表示数组的长度,也就是数组当前存储的元素的个数(从0开始)
2.数组的创建:
var 数组名 = new Array( );
var 数组名 = new String( );
var 数组名 = [ ]
( 推荐使用 )
3.数组的访问:
访问单个:
数组的访问通过数组名结合下标来访问单个元素
数组名[ i ]
访问数组中第 i 个元素,
访问全部: (通过与for循环结合使用)
for(var i = 0;i < arr.length;i + 1){
arr[i]
}
4.数组的方法:
- push 将元素添加到数组中的最后一位
arr.push ( a );
- unshift 将元素添加到数组的第一位
arr.unshift ( a );
- pop 删除数组的最后一个元素
arr.pop ( );
- shift 删除数组的第一个元素
arr.shift ( );
- join 将数组中全部内容转化为字符串形式拼接后返回
arr.join ( );
(用空格将数组中每个元素按字符串形式拼接) - sort 将数组按从小到大排列
arr.sort ( );
- reverse 将数组从大到小排列
arr.reverse ( );
- instance of 判断是不是数组(返回true/false)
arr.instanceof Array; / Array.isArrat( arr )
- concat 数组拼接
arr.concat(arr2)
(将数组arr2拼接到数组arr内) - 返回数组中的指定范围:
方法 | 作用 |
---|---|
slice | 截取数组中指定范围并返回(需要定义新数组接收),包头不包尾 |
splice | 删除:只规定开始位置和修改长度;替换:规定了开始位置结束位置和修改内容;插入:规定了开始结束位置和修改长度,且修改长度大于删除长度 |
arr.slice(开始位置,结束位置)
arr.splice(开始位置,结束位置,修改内容)
5.数组的特殊类型
- 稀疏数组:
数组中某些元素为空(在自定义数组时不允许出现)
arr = [ 1, 2,"a", 4, , 6];
- 多维数组:
实际上是数组的多重嵌套
arr = [[1,2,3],[a,b,c]]
6.数组的排序及去重
- 数组的排序:
思路:使用第三个变量来交换两个元素的值
function sort(arr){
for (var i=0;i<arr.length;i++) {
for (var j=i+1;j<arr.length;j++) {
if (arr[i]<arr[j]) {
var sj=arr[i];
arr[i]=arr[j];
arr[j]=sj;
}
}
}
return arr;
}
- 数组的去重:
方法1:双重循环,将每个元素的值挨个与其他元素的值想比较,如果相同则移除
function double(arr){
for(var i = 0;i<arr.length;i++){
for (var j = i+1;j<arr.length;j++) {
if (arr[i]==arr[j]) {
arr.splice(j,1);
--j; 删除成功后需要重新再将该元素与其之后的元素再次比较,所以需要-1
}
}
}
return arr;
}
本文均属个人理解