数组
所谓数组,就是一系列有序元素组成的集合,在JS中,数组与其他语言稍有不同。正是因为JS是一门弱类型,解释性语言。
不同: JS数组中的元素的数据类型可以是不同的,也就是说,同一个数组中的变量数据类型可以不一样。并且,数组的长度并不是固定不变的,超出数组的容量,数组会自动增加对应的长度。
数组的创建方式
JS中数组的创建方式有很多,常用的 通过构造函数创建,通过字面量形式创建。
- 通过构造函数创建
var arr1 = new Array(); // 创建了一个空数组
var arr2 = new Arrary(5); // 创建了一个长五位的数组
var arr3 = new Arrary(10,9,8,'hello',true) // 创建了一个元素有括号内这么多元素的数组
- 通过字面量方式创建
var arr1 = []; // 创建了一个空数组。
var arr2 = [5] // 创建了长度为1 且这个元素是 5 的数组
var arr3 = [ 10,9,8,'hello',true ] // 创建了一个元素有括号内这么多元素的数组
数组中数据的访问方式
要访问数组中的数据,可以通过数组 + 【下标】
的方式来创建。下标 0 表示第一个元素,1 表示第二个数据,依次类推。
数组的 length 属性
数组的length属性的三个作用:
arr.length
获取数组中元素的个数,这个数也是数组的长度。- 设置数组的
lenhth
属性大于数组的长度时,数组中没有元素的位置会被实际不存在的元素填充,读取这些数据式会返回undefined
- 设置数组的
length
属性小于数组的长度时,数组被截断,length
之后的数据会丢失。
补充只是:伪数组
JS中除了数组之外,还有一些数据类型也有length
属性,可以使用length
来访问。这数据类型又被称为伪数组
数组的遍历
数组的遍历是值查询数组中说有或部分元素。常用的有 下标遍历、for…in…遍历、for…of…遍历等。
举个栗子:
var arr = [1,2,3,4,5]
// 使用下标遍历数组
for(var i = 0; i<arr.length; i++){
console.log(arr[i])
}
// 使用for...in...遍历数组
for(var i in arr){
console.log(arr[i])
}
// 使用for...of... 遍历数组
for(var value of arr){
console.log(value)
}
/*
如果遍历数组的时候对数组的下标没有要求,那么就尽量使用 for..of...
如果要使用下标操作,最好使用 for( i )遍历
*/
数组的排序 —— 很重要
关于数组的排序,单独拎出来写。