数组
06:数组
一、数组的概念和特点
- 数组是对象的一种,数组内的数据会按照顺序进行排列,是一种有序集合
- 数据按照顺序被标记,序号,也叫索引,从0开始
arr[0]
- 数组拥有length属性,用来表示自身有多少个数据
arr.length
- 因为索引的规律为从0开始递增,通过length属性标记数据总数,所以可以通过循环语句遍历数组
- 数据按照顺序被标记,序号,也叫索引,从0开始
1 | for(var i=0; i<arr.length; i++){ |
二、数组的创建
- 字面量:
var arr1 = [数据1, 数据2, 数据3, ...]; - 创建函数:
var arr2 = new Array(数据1, 数据2, 数据3, ...); - 区别:当有且只有一个数值型数据时,字面量创建就是作为一个数据,构造函数创建会作为数组的长度,每个位置为
undefined
三、数组的操作
- 索引+长度操作
- 原生操作,底层操作,所有数组操作功能的基础
- 查:
arr[索引] - 改:
arr[索引] = "新值" - 增:默认只能在数组的最后增加
- 需要配合数组数据位置的移动,完成所需的指定位置的增加
- 删:默认只能从数组的最后开始删除
- 删除数据的原理:减少长度
- 需要配合数组数据位置的移动,完成所需的指定位置的删除
- 数组长度可修改
- 比原始长度大时,多出来的位置,用
empty补齐,读取时为undefined - 原始长度小时,从数组最后开始删除
- 比原始长度大时,多出来的位置,用
- 方法操作:将数组作为对象,其自身的函数,叫数组的方法
arr.push():最后一位新增arr.pop():删除最后一位arr.shift():删除第一位arr.unshift():第一位新增arr.reverse():翻转数组中的数据arr.join():根据指定字符连接数组中所有数据arr.concat():合并数组arr.slice():截取arr.splice():删除并替换arr.sort():排序- 推荐阅读:数组方法大全
四、数组排序
- 冒泡排序:依次对数组中相邻数字进行比较(两两比较),大的放后面
1 | var arr = [5,99,2,9,1,5,67,7,10,23]; // 定义一个杂乱的数组 |
- 选择排序:从左向右依次,取数组中的一个数据和后面所有数据做比较,拿到最小的之后,再和当前位置交换
1 | var arr = [5,99,2,9,1,5,67,7,10,23]; // 定义一个杂乱的数组 |
五、ES5新增的数组方法
arr.indexOf()arr.forEach()arr.map()arr.filter()arr.some()arr.every()arr.reduce()arr.includes()- 推荐阅读:数组方法大全
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 !
评论
