9.5_数组

数组

作用 : 将一组数据存放到一个变量名里 当中可以存放任意元素 数组中的元素用逗号分隔

注:一组数组里面尽量放相同类型

创建数组

利用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

从头到尾全部访问一遍 并获取数组中的元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HbQXna4k-1577929595173)(9.5_数组.assets/1567649877528.png)]

※数组长度 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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W9BJajlt-1577929595174)(9.5_数组.assets/1567847320182.png)]

里层管交换次数

**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evrhgQZk-1577929595175)(9.5_数组.assets/1567845223056.png)]**

数组长度减i因为i是外层获取的下标循环会依次增加次数 -i会随着增加逐渐减去j的数组长度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6B5E88V9-1577929595189)(9.5_数组.assets/1567845308369.png)]

j是下标 +1等于数组中现下标中数组元素的第二位数

var j=0 每次循环只执行一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值