数组
数组:一组数据(一个变量来承载)
var str = "Hello world"; // 一个变量存放一个数据
var arr = [1,2,3,4,5,6,7,8,9];
//往数组结尾插入元素
arr[arr.length] = 20
数组有两种定义方式
var arr = [];
//字面量的方式
var arr = new Array();
//构造函数的方式
var arr = new Array(10);//一个参数指数组长度为10
var arr = new Array(10,20,30);//多个参数指定义数组元素
因为js是弱类型语言,所以数组也是弱类型,同一个数组变量里可以有各种不同类型的元素
数组的长度 arr.length
数组的索引(下标) arr[0] ~ arr[arr.length-1]
数组遍历 (for循环)
var arr = [9,2,35,5,74,12,43,4];
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
for...in(ES5) 遍历稀疏数组的时候不会遍历到undefined
稀疏数组:即元素稀疏,有些元素没有值的数组,如 [2,undefined,4,5,,6]
var arr = [9,2,35,5,74,12,43,4];
for(var key in arr){
console.log(typeof key); //string
console.log(arr[key]);
}
for...of(ES6)
var arr = [9,2,35,5,74,12,43,4];
for(var value of arr){
console.log(value);
}
数组是引用类型
var str = "Hello World";
var str2 = str;//内存开辟另外一段空间存放str2
var arr = [1,2,3,4,5,6,7,8,9];
var arr2 = arr;//arr和arr2指向同一段存储空间
基本数据类型:number、string、boolean、undefined、null
引用数据类型:object(array也属于object)、function
函数的值传递和引用传递
基本类型作为参数传递的是指,而引用累心作为参数传递的是引用,即地址
数组常见API(concat\join\reverse\slice\splice\toString\sort)
方法
|
描述
|
concat() | 连接两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
shift() | 删除并返回数组的第一个元素 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
reverse() | 颠倒数组中元素的顺序。 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素。 |
toString() | 把数组转换为字符串,并返回结果。 |