目录
一、定义数组
1、数组的作用
数组用于保存多个数据
2、如何声明一个数组
1、通过字面量声明一个数组:
let 数组名 = [值1,值2,值3,......];
例:声明一个变量名为arr的数组,包含1、2、3,三个值
代码:
let arr = [1,2,3];
2、通过构造函数声明一个数组:
let 数组名 = new Array(值1,值2,值3,......);
例:声明一个变量名为arr的数组,包含1、2、3,三个值
代码:
let arr = new Array(1, 2, 3);
二、数组的使用
1、数组元素的索引
每个元素都有一个位置标号,称为索引值(下标)
下标的规律:从0开始,依次递增,数组个数-1(最后一个下标)
任何一个数组都有length这个属性:用法:数组.length,表示数组长度
2、数组的遍历
把数组的每一个元素依次访问一遍,被称为数组的遍历。
例:使用for,来遍历数组
let arr = [1, 2, 3, 4, 5, 6];
for (let i = 0; i < arr.length; i++) {
document.write(arr[i]);
}
效果:
三、数组的增、删、改、查
1、在数组中增加元素
1、在数组开头增加元素
在变量名后边添加.unshift()即可在数组开头增加元素,并且会返回增加后数组的长度.
变量名.unshift(新增1,新增2,新增3,...);
例:在arr = ['元素1', '元素2', '元素3', '元素4'];的开头添加'元素5'和'元素6'
代码:
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.unshift('元素5', '元素6'); //unshift将返回新数组长度给re
document.write('新数组为:' + arr + '<br>新数组长度为' + re);
效果:
2、在数组末尾增加元素
push:把新的数据放到数组的最后面,返回新数组的长度
变量名.push(新增1,新增2,新增3,...);
例:在arr = ['元素1', '元素2', '元素3', '元素4'];的末尾添加'元素5'和'元素6'
代码:
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.push('元素5', '元素6'); //push将返回新数组长度给re
document.write('新数组为:' + arr + '<br>新数组长度为' + re);
效果:
3、在任意位置增加元素
splice:可以用来在任意位置增加元素,它的本来功能是删除任意位置的元素,但是我们可以让它删除0个元素,来达到增加元素的目的。
splice各个参数含义: 变量名.splice(起始位置,删除的元素个数,新增元素1,新增元素2,...);
当splice用来在任意位置增加元素时的写法: 变量名.splice(需要增加元素的位置,0,新增元素1,新增元素2,...);
splice的位置是用下标的确定的
例:有一数组 arr = ['元素1', '元素2', '元素3', '元素4'];现在需要在下标为2的元素前边增加'元素5'和'元素6'
代码:
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.splice(2, 0, '元素5', '元素6'); //.splice(起始位置, 0(固定写法), 新增的元素);
document.write('新数组为:' + arr + '<br>新数组长度为' + re);
效果:
2、删除数组中的元素
1、删除数组开头的元素
shift:删除数组的中第一个元素,并将被删除元素返回
例:有一数组arr = ['元素1', '元素2', '元素3', '元素4'];现将第一个元素删除并赋值给re
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.shift(); //shift将被删除元素返回
document.write('原数组变为为:' + arr + '<br>被删除元素为:' + re);
效果:
2、删除数组末尾的元素
pop:删除数组的中最后一个元素,并将被删除元素返回
例:有一数组arr = ['元素1', '元素2', '元素3', '元素4'];现将最后一个元素删除并赋值给re
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.pop(); //pop将被删除元素返回
document.write('原数组变为为:' + arr + '<br>被删除元素为:' + re);
效果:
3、在任意位置删除元素
splice:可以删除任意位置的元素,我们可以让它删除n个元素,,n为自定.
splice各个参数含义: 变量名.splice(起始位置,删除的元素个数,新增元素1,新增元素2,...);
当splice用来删除任意位置元素时的写法: 变量名.splice(开始删除的位置,删除元素个数);
splice的位置是用下标的确定的
例:删除数组arr = ['元素1', '元素2', '元素3', '元素4']中的 元素3.
代码:
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.splice(2, 1); //splice(从下标为2的地方开始删,删1个) splice返回被删元素
document.write('原数组变为为:' + arr + '<br>被删除元素为:' + re);
效果:
3、修改数组的元素
splice:可以修改任意位置的元素,我们可以让它在下标为n的地方,删除m个元素,然后再在该位置,增加m个元素,来达到修改数组中特定位置元素的效果.
splice各个参数含义: 变量名.splice(起始位置,删除的元素个数,新增元素1,新增元素2,...);
当splice用来修改任意位置元素时的写法: 变量名.splice(开始删除的位置,删除元素个数,元素1,元素2);
注意:删除元素的个数一定要与增加元素的个数一致,否则不是修改数组了!!!
splice的位置是用下标的确定的
例:将数组arr = ['元素1', '元素2', '元素3', '元素4']中的'元素3'修改为'元素5'
let arr = ['元素1', '元素2', '元素3', '元素4'];
let re = arr.splice(2, 1, '元素5'); //splice(从下标为2的地方开始删,删1个,将'元素5'填补上去) splice返回被删元素
document.write('原数组变为为:' + arr + '<br>被删除元素为:' + re);
效果: