一数组:内存中一块连续的存储单元,这些存储单元具有共同的名称、不同的索引(下标)
1、数组的声明:
(1)使用数组字面量:[ ]
例 var sum = [1,2,3]
2、数组的属性:length 表示数组元素的个数(数组的单元个数)
数组名.length
3、数组元素的索引:从0开始到数组的单元个数减1
4、数组元素的访问:数组名[索引]
5、数组的遍历:不重复的访问数组的每个元素
使用for循环遍历 | for(表达式1;表达式2;表达式3) { 循环体语句 } |
使用for...in循环 | for(index in 数组名){ 循环体语句 } index:表示的是数组元素的索引 |
使用for...of循环 | for( value of 数组名){ 循环体语句 } value:表示数组元素 |
forEach循环遍历 | 数组名.forEach(function(value,index){ 函数体语句 }) value:表示数组元素 index:数组元素的下标 |
练习 :练习2:定义一个数组,数组元素是[12,125,34,45,506,44,66,77,88,99],输出数组中的最大值
max = arr [0] //假定第一个数是最大的 arr.forEach (function(value,index){ if(value > max){ max = value } }) |
(5)使用map函数遍历数组:实际是对数组的过滤。返回一个新的数组,原数组不变
let 新数组名 = 原数组名.map(function(item){ //item表示数组元素
函数体语句
})
四、数组的排序:
1、冒泡排序:数据两两比较,如果发现存在大小关系,就进行交换
例
var srr =[87,11,8,56,38,22,65] for(let i = 0; i < srr.length; i++){ for(let j = 0; j < srr.length-1;j++){ if(srr[j]>srr[j+1]){ let temp=srr[j] srr[j] = srr[j + 1] srr[j+1] = temp } } } console.log(srr) |
五、总结:
1、数组的定义:[ ] 和 Array对象
2、数组元素的访问:数组名[ 下标 ]
3、数组的遍历:五种方式
4、排序算法:冒泡、选择