数组
定义:
数组(Array)是一种可以按顺序保存数据的数据类型
数组的基本使用
①声明语法
let 数组名 = [数据1, 数据2, ..., 数据n]
- 例:
let fruits = ['苹果', '菠萝', '草莓', '芒果', '榴莲']
- 数组是按顺序保存,所以每个数据都有自己的编号
- 计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
- 在数组中,数据的编号也叫索引或下标
- 数组可以存储任意类型的数据
②取值语法
数组名[下标]
- 例
let fruits = ['苹果', '菠萝', '草莓', '芒果', '榴莲'];
fruits[0];//苹果
fruits[3];//芒果
- l通过下标取数据
- 取出来是什么类型的,就根据这种类型特点来访问
③一些术语
- 元素:数组中保存的每个数据都叫数组元素
- 下标:数组中数据的编号
- 长度:数组中数据的个数,通过数组的length属性获得
let fruits = ['苹果', '菠萝', '草莓', '芒果', '榴莲'];
console.log(fruits[0]);//苹果
console.log(fruits[3]);//芒果
console.log(fruits.length);//5 数组长度
④遍历数组
- 用循环把数组中每个元素都访问到,一般会用for循环遍历
- 语法:
for (let i = 0; i < 数组名.length; i++){
数组名[i]
}
例:
let nums = [10, 20, 30, 40, 50]
for (let i = 0; i < nums.length; i++){
document.write(nums[i]);
}
数组操作
数组本质是数据集合, 操作数据无非就是 增 删 改 查 语法:
① 查询数组数据
- 数组 [下标] 或者我们称为访问数组数据
<script>
let snacks = ['薯片', '饼干', '辣条', '爆米花', '干果'];
//获取数组里面的第0个元素
console.log(snacks[0]);//薯片
console.log(snacks.length);//数组长度,有多少个元素
console.log(snacks[20]);//若获取的元素超过数组的长度或者不存在,则会输出underfined
</script>
②重新赋值
- 数组[下标] = 新值
<script>
let snacks = ['薯片', '饼干', '辣条', '爆米花', '干果'];
snacks[2] = 蛋糕;//重新赋值,替换原来的'辣条'
snacks[4] = 薯条;//重新赋值,替换原来的'干果'
snacks[100] = 汉堡;
console.log(snacks);
console.log(snacks.length);
</script>
注意:
- 若数组 snacks[100] 这位置已有元素,则就是修改或替换原元素
- 若数组 snacks[100] 这位置没有元素,则就是新增元素
- 如数组 snacks[100] 前面的位置是没有元素赋值的,则未赋值的位置还是空的,元素可以新增在那些位置,输出还是显示undefined
- 即使snacks[100]前面存在未赋值的元素位置,那它输出长度会是 snacks.length =101
③数组添加新的数据
- arr.push(在末尾新增元素) 常用
数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度 (重点)
语法:
arr.push('元素1','元素2', ..., '元素n')
例:
<script>
let arr = ['小米', '小明']
arr.push('小红','小丽')
console.log(arr);
</script>
- arr.unshift(开头新增元素) 少用
arr.unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
语法:
arr.unshift('元素1','元素2', ..., '元素n')
例:
<script>
let arr = ['小米', '小明']
arr.unshift('小红','小丽')
console.log(arr);
</script>
- arr.splice(操作的下标,指定位置添加) 少用
语法:
// 下标表示 从起始位置往后数 '元素名称'
arr.splice(指定位置, 删除, 增加 )
例:
<script>
let arr = ['小米', '小明']
arr.splice(1, 0, '小丽')//表示删除0个元素,在小明前面插入'小丽'
console.log(arr);
</script>
④删除数组中数据
- arr.pop(); (删除末位元素)
数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值
语法:
arr.pop();
例:
<script>
let arr = ['西瓜','葡萄','草莓','榴莲','芒果']
arr.pop();//芒果
console.log(arr);
</script>
- arr.shift();(删除开头元素)
语法:
arr.shift();
例:
<script>
let arr = ['西瓜','葡萄','草莓','榴莲','芒果']
arr.shift();//西瓜
console.log(arr);
</script>
- arr.splice(操作的下标,删除的个数)
语法:
// 下标表示 从起始位置往后数
arr.splice(起始位置, 删除几个元素 )
例:
<script>
let arr = ['小米', '小明', '小丽', '小红']
arr.splice(1, 2 )//表示从1开始删除2个元素,'小明'和'小丽'
console.log(arr);
</script>
⑤拓展补充
- 获取数组的最后一个元素 (常用的规则!! )
arr[arr.length - 1]
- 数组 可以存放任意类型的数据 可以这么做,但是不建议 我们建议 一个数组内的数据类型要统一!!
let arr = ['西瓜', 100, null, true, NaN, undefined, 80];
- 数组快速清空或者删除元素的方式
arr.length = 0;//全部清空
arr.length = 3;//保留3个元素