数组
作用 : 将一组数据存放到一个变量名里 当中可以存放任意元素 数组中的元素用逗号分隔
注:一组数组里面尽量放相同类型
创建数组
利用new创建数组
var 变量名 = new Array()
※字面量创建数组
var 变量名 = [数组元素,数组元素2,数组元素3...]
访问数组
索引:下标 从0开始 数组元素的序号
var arr = [1,2,3,4]
console.log(arr[2])// 3
// arr[i]/数组名[索引序号0] 当中的i作为数组的索引号使用 数组从索引从0开始 所以i必须等于0
※遍历 for/foreach
从头到尾全部访问一遍 并获取数组中的元素
※数组长度 length
数组变量名.length
- 自动检测里面元素个数
- 数组的长度是元素个数 和索引号不同
- 数组长度减1 下标是从0开始 元素个数从1开始 比元素个数少1
新增数组元素
通过length长度来新增属性
给arr.length = 5;更改长度
数组名[索引号]='数组元素'
- 追加没有占用的索引号 就是追加 给有的索引号会覆盖替换
※push 函数追加方法
var arr = [1,2,3,4,5,6]
arr.push(8)
console.log(arr) // [1, 2, 3, 4, 5, 6, 8]
// 要被追加的数组名.push(追加的数组/其他)
数组存放十个数的案例
var arr = []
for(var i = 1; i<=10; i++) {
arr.push(i)
}
console.log(arr)
// arr是数组名 i是作为索引号 所以初始赋值为0 因为索引号从0开始 循环每循环一次 i自增 数组索引号0 存入一位数值
转存数据去新数组
思路1:让新的数组和旧数组一样 从0开始递增
// push法
var arr = [1,2,3,4] // 旧数组
var arr1 = [] // 新数组
arr1.push(arr)
console.log(arr1)
// for循环
for(var i = 1; i<=arr.length; i++){
}
思路2:因为新数组里面没有数 所以数组长度本身就是0 并且会根据元素自动增加长度 所以用新数组的长度来作为数组的索引号
数组去重
利用判断表达式 排除不符合条件的数组元素 导入到新的数组中
翻转数组 reverse
将旧数组数组元素 从最后一个开始转换到新的数组
var arr = [1,2,3,4]
console.log(arr.reverse()) // 4,3,2,1
思路1:reverse方法 直接让数组倒序排序
思路2:数组长度减一是因为下标从0开始 倒过来取最后 旧数组最后一个是下标是4
循环为i-- 按照循环i会从4往后走到0 i又是下标 所以会依次赋值给新数组
数组排序2: sort()
※冒泡排序
作用: 将数据按照一定顺序来进行排列 两两相比较 直到没有错误顺序为止
完成需要两个for循环
因为有五个数 所以要走四趟 有五个数 要对比四次
外层管趟数 是因为下标从0开始 长度减1
里层管交换次数
数组长度减i因为i是外层获取的下标循环会依次增加次数 -i会随着增加逐渐减去j的数组长度
j是下标 +1等于数组中现下标中数组元素的第二位数
var j=0 每次循环只执行一次