数组:
功能:一个标识符可以存储多个不同类型的数据
数组是 通过下标 获取数组中的值;下标从0开始。
数组的声明:
- 字面量声明:
// 书写格式:关键字 数组名称 赋值符号 中括号 分号
// 例:
let arr = [] ; // 用字面量声明了一个空数组
- 构造函数声明:
// 书写格式:关键字 数组名称 赋值符号 new Array() 分号
// 例:
let arr = new Array(); //利用构造函数声明一个空数组
console.log(arr); // []
// 注: Array(X);
// 当 X 为 数值时,并且 只有一位.则表示声明的是一个数组长度为 X 的空数组
遍历数组:
- for 循环遍历
// for 循环遍历:
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
//遍历出数组的每一个值
for (let i=0;i<arr.length;i++){
console.log(arr[i]); // 10 20 30 40 50 60 70
}
- for in 遍历
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
// for in 遍历
for(let i in arr){ // i 表示下标
console.log(arr[i]); //10 20 30 40 50 60 70
}
- for of 遍历
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
//for of 遍历
for(let i of arr){ // i 表示 对应下标的值
console.log(i); // 10 20 30 40 50 60 70
}
数组 增、删、改、查
数组的增加
.push()
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
let newArr=arr.push(10); // 在 原数组的末尾新增一个数组元素,值为 10;(可以跟多个参数)
console.log(arr); // 原数组输出: [10,20,30,40,50,60,70,10]
console.log(newArr); // 8 //返回 原数组增加后的 数组长度
.unshift ()
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
//增
let newArr=arr.unshift(10); // 在 原数组的前新增一个数组元素,值为10; (可以跟多个参数)
console.log(arr); // [10,10,20,30,40,50,60,70]
console.log(newArr); // 8 //返回 原数组增加后的 数组长度
数组的删除
.pop()
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
let newArr=arr.pop(); // 删除原数组末尾的最后一个数组元素 (一次只能删除一个) .pop() 括号里面不给参数,给了也是摆设
console.log(arr); // [ 10, 20, 30, 40, 50, 60 ]
console.log(newArr); // 70 //返回被删除的数组元素
.shift()
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
let newArr=arr.shift(); // 删除原数组前面的第一个数组元素 (一次只能删除一个) .shift() 括号里面不给参数,给了也是摆设
console.log(arr); // [ 20,30,40,50,60,70 ]
console.log(newArr); // 10 //返回被删除的数组元素
--------------------------------------------------------------------------------------------------
.slice()与 .splice()
.slice
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
/** .slice(起始位置,结束位置);
* 获取 从 起始位置的下标 开始到 结束位置 下标 的 数组元素 (不包含结束位置下标的数组元素)
*
* .slice(只有一个参数);
* 获取 从 该参数下标到数组结束的所有数组元素(包括最后一个数组元素)
*
*/
let newArr=arr.slice(2,4); // 获取 从下标为 2 到 下标为(4-1)的数组元素
console.log(arr); // [10, 20, 30, 40,50, 60, 70] 原数组长度 不会改变
console.log(newArr); // [30,40] 返回 获取的数组元素,生成新数组
.splice()
.splice( 起始位置,删除的数量,要插入的项 );
splice 会改变原数组的数组长度 ;
splice (只有一个参数):
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
let newArr=arr.splice(3); // 截取 从下标为3 的位置到数组末尾的所有数组元素
console.log(arr); // [ 10, 20, 30 ] 原数组长度发生改变
console.log(newArr); // 返回 截取出来的数组 [ 40, 50, 60, 70 ]
splice (有两个参数):
//创建一个数组
let arr=[10,20,30,40,50,60,70];
// splice (有两个参数):
// splice ( 起始位置,要删除的数量 )
let newArr=arr.splice(2,3); // 从 下标为2的位置开始 删除 3个数组元素
console.log(arr); // [ 10, 20, 60, 70 ] 原数组长度发生改变
console.log(newArr); // 返回 截取出来的数组 [ 30, 40, 50 ]
splice (有三个参数):
//创建一个新数组
let arr=[10,20,30,40,50,60,70];
// splice (有三个参数):
// splice ( 起始位置,要删除的数量 ,要增加的数组元素 )
let newArr=arr.splice(2,3,4); // 从 下标为2的位置开始 删除 3个数组元素, 并新增一个数组元素 4
console.log(arr); // [10,20,4,60,70] 原数组长度发生改变
console.log(newArr); // 返回 截取出来的数组 [ 30,40,50]