引用数据类型:object:new Array new String new Date new Function new RegExp new Image。。。
001、什么是一个数组?
一个装数据的容器
002、数组里面装的是什么
数组里面一般情况下存放相同的数据 但是也可以存放不同类型的数据
003、如何创建一个数组
如果传递一个参数则代表的是数组长度 。var arr = new Array(30);
如果传递的是两个或多个则代表的是参数。var arr = new Array(30,2);
1、构造函数方法
var 变量名 = new Array();
2、关键字
var 变量名 = Array( );
var arr = Array(30,2);
3、字面量
var arr= [ ];
var arr = [ 1,2,3,4,5 ];
数组的长度和下标的关系。数组的长度减一就是数组最后一个数据的下标。
用for循环给数组赋值
var arr = []; for(var i=10;i<=20;i++){ arr[arr.length] = i; }
004、数组的基本方法
for in循环:只用于数组循环
for(var i in 对象){
}
for(var i in arr){ conlose.log(arr[i]); }
如何判断一个对象是不是一个数组?
instanceof:判断一个对象是不是另一个对象创建出来的
对象 instanceof Array;
var arr = [10,20,40,50,60]; console.log(arr instanceof Array);
function fn(){ console.log(arguments instanceof Array) ; } fn(); // argements是伪数组
005、数组常见的API
a、push:尾部添加
返回值:数组的最新长度
原数组会发生改变
var arr = [10,20,30]; var newArray = arr.push(40); console.log(arr,newArray); // [10, 20, 30, 40] 4
b、unshift:头部添加
返回值:数组的最新长度
原数组会发生改变
var arr = [10,20,30] var newArray = arr.unshift(40); console.log(arr,newArray); //[40,10,20,30] 4
c、pop:尾部删除
返回值:删除掉的尾部的那个数字
原数组会改变
var arr = [10,20,30]; var newArr = arr.pop(); console.log(arr,newArr)
d、shift:头部删除
返回值:删除掉的尾部的那个数字
原数组会改变
var arr = [10,20,30]; var newArr = arr.shift(); console.log(arr,newArr)
e、sort:排序
从小到大排序
如果这个sort没有传递参数的时候是按照ASCII码进行排序的
如果传递了回调参数,则进行按照回调中的方法进行排序
回掉函数:函数的参数是一个函数
var arr = [6,24,9,42,0,32]; arr.sort(function(a,b){ return a-b }); console.log(arr) var arr = [1,2,3,4,5,6,7,8,9]; arr.sort(function(){ return Math.random()-0.5; }) console.log(arr)
f、reverse():反转