数组(Array):单个变量存储多个数据,是一种可以按顺序保存数据的数据类型,一种对象
如果多个数据可以用数组保存起来,放到一个变量中,管理起来更方便
语法:
let 数组名 = [数据1, 数据2, ..., 数据n] // 常用写法
// 1.[]字面量 声明数组 有序排序
let arr = ['刘德华', '张学友', '黎明', '郭富城']
// 2.使用数组 数组名[索引号] 从0开始
console.log(arr[1]) //张学友
// 3.数组的长度 = 索引号 + 1
console.log(arr.length) // 4
使用new Array构造函数声明数组 了解即可
let arr = new Array(数据1,数据2, ..数据n)
取值语法:
数组名[下标]
let names = ['刘德华', '张学友', '黎明', '郭富城']
names[0] // 刘德华
names[1] // 张学友
注:
- 数组有序排序,按顺序保存,每个数据都有自己的编号
- 数组编号(索引/下标)从0开始;可存储任意类型数据
- 数组中保存的所有数据叫数组元素
- 数组中数据的个数即长度,通过数组的length属性获得
遍历输出数组里面的元素
// 遍历数组,必须从0开始,因为数组索引从0开始 arr.length = 6
let nums = [10, 20, 30, 40, 50]
for (let i = 0; i < nums.length; i++) {
console.log(nums[i])
}
一般用for循环遍历,把数组中每个元素都访问到
for (let i = 0; i < 数组名.length; i++) {
数组名[i]
}
查询数组数据(访问数组数据)—— 数组[下标]
let arr = ['刘德华', '张学友', '黎明', '郭富城']
console.log(arr[2])
重新赋值 —— 数组[下标] = 新值
let arr = ['张三岁', 'red', 'gray']
// arr[0] = 'orange'
// console.log(arr)
// 给所有元素追加老师
for (let i = 0; i < arr.length; i++) {
// console.log(arr[i])
arr[i] = arr[i] + '老师'
}
console.log(arr)
数据添加新数据
arr.push(新增内容),将一个或多个元素添加到数组的末尾,即末尾追加,并返回该数组的新长度(重点)
arr.push(元素1, ..., 元素n)
let arr = ['red', 'gray']
arr.push('blue')
console.log(arr.push('blue')) // 3 新数组长度
console.log(arr) // ['red', 'gray', 'blue']
arr.unshift(新增内容),将一个或多个元素添加到数组的开头,开头追加,并返回该数组的新长度
let arr = ['red', 'gray']
arr.unshift('black')
console.log(arr) // ['black', 'red', 'gray']
删除数组中元素(数据)
arr.pop() 删除数组中最后一个元素,并返回该元素的值
let arr = ['red', 'gray']
arr.pop()
console.log(arr) //['red']
arr.shift() 删除第一个元素
let arr = ['red', 'gray']
arr.shift()
console.log(arr) //['red']
arr.splice 删除指定元素(操作的下标,删除的个数)——(常用)
arr.splice(start, deleteCount)
arr.splice(起始位置即索引号, 删除几个元素)
let arr = ['red', 'gray', 'pink']
arr.splice(1, 1) //['red', 'pink']从索引号1开始,只删除1个
arr.splice(1) // ['red'] 从gray删除到最后
console.log(arr)
注:
- start起始位置:指定修改的开始位置(从0计数)即索引号
- deleteCount:表示要移除的数组元素个数;可选的,如果省略则默认从指定的起始位置删除到最后
需求场景:
如随机抽奖,中将用户就需要从数组里删除,不允许重复抽奖
点击删除按钮,相关数据会从商品数据中删除
评论