字面量定义 var arr = []; 构造函数定义 var arr = new Array();当里面参数只有一个的时候,表示的是数组的长度
数组的成员有编号,这种编号我们称为下标或者索引,数组也是属于对象,所以也是引用类型。所以数组也有自己的方法
arr.isArray() 该方法用于判断一个值是不是一个数组,成功弥补了typeof运算符不足。typeof运算符判断数组只能是object,若该值是数组,则返回true。 arr.push() 该方法用于向数组的末尾增加一项.参数是所要添加的数组新成员,返回值为数组的长度
var arr = [1,2,3,4]; console.log(arr.push(5)); // 输出结果为5 console.log(arr); //输出结果为[1,2,3,4,5]arr.pop() 该方法用于从数组的末尾移除这一项,返回值为移除的那一项
var arr = [1,2,3,4,5]; console.log(arr.pop()); //输出结果为5 console.log(arr); //输出结果为[1,2,3,4]arr.unshift() 该方法用于向数组的头部增加一项.参数是所要添加的数组新成员,返回值为数组的长度
var arr = [2,3,4,5]; console.log(arr.unshift()); //输出结果为5 console.log(arr); //输出结果为[1,2,3,4,5]arr.shift() 该方法用于向数组的头部删除一项,返回值为移除的那一项
var arr = [0,1,2,3,4,5]; console.log(arr.shift()); //输出结果为0 console.log(arr); //输出结果为[1,2,3,4,5]arr.concat(); 连接数组,该方法用于给数组连接新成员,参数可以有任意个。若参数中含有数组,需要定义一个新的数组来接收
var arr = [1,2]; console.log(arr.concat(3,4,5)); //输出结果为 [1,2,3,4,5]; var arr1 = [3,4,5]; var arr2 = arr.concat(arr1); console.log(arr2); //输出结果为[1,2,3,4,5]arr.reverse(); 该方法是将数组逆序,并且这个方法会改变原数组
var arr = [1,2,3,4,5,6]; var arr1 = arr.reverse(); console.log(arr); //输出结果为[6,5,4,3,2,1] console.log(arr1); //输出结果为[6,5,4,3,2,1] console.log(arr === arr1); //输出结果为truearr.sort(function(a,b){ return b-a}); 该方法用于给数组排序,并且数组中的数据必须都是数字,若返回值是a-b,则是从小到大来排序。若返回值是b-a,则是从大到小来排序
var arr = [3,4,2,6,5,1] arr.sort(function(a,b){ return a-b; }); console.log(arr); //输出结果为[1,2,3,4,5,6]arr.sort(); 该方法是将数组转变为字符串
var arr = [1,2,3,4,5] console.log(arr.sort()); //输出结果为12345arr.slice(start,end); 该方法是用于截取数组,并且不会改变原数组。需要定义一个新的数组,start是开始截取的位置,end是截取到的位置,并且符合左闭右开的原则。当只有一个参数的时候,表示从开始的位置截取到最后一位。当没有参数的时候,表示全部截取。当参数为负数的时候,表示从后往前截取。若只有一个参数为负数的时候,表示从后往前截取,若start为负数,end为正数的时候,只能截取到空数组
var arr = [1,2,3,4,5,6]; var arr1 = arr.slice(1,5); var arr2 = arr.slice(2); var arr3 = arr.slice(); var arr4 = arr.slice(1,-1); var arr5 = arr.slice(-1,3); console.log(arr); //输出结果为[1,2,3,4,5,6] console.log(arr1); //输出结果为[2,3,4,5] console.log(arr2); //输出结果为[3,4,5,6] console.log(arr3); //输出结果为[1,2,3,4,5,6] console.log(arr4); //输出结果为[2,3,4,5] console.log(arr5); //输出结果为[]arr.splice(pop,num,…); 该方法是用于操作数组,pop:表示操作数组的位置,num:表示要删除几项,之后的每一行都表示往pop的位置插入的成员。
var arr = [1,2,3,4,5,6,7] //删除3 var result = arr.splice(2,1); console.log(result) //输出结果为[3],此时的返回值为一个新的数组,数组中的成员就是删除的数据 //将3替换成9 var result = arr.splice(2,1,9); console.log(result); //输出结果[3],此时的返回值为一个新的数组,数组中的成员就是删除的数据 //在5前面插入5个1 var result = arr.splice(4,0,1,1,1,1,1); console.log(result); //输出结果为[],此时的返回为一个新数组,此时未删除原数组的成员,所以是一个空数组 //当我们传入一个参数,看看结果是什么 var result = arr.splice(3); console.log(result); //输出结果为[4,5,6,7],当我们只传入一个参数的时候,表示从这个参数开始截取,截取到数组的最后一位.此时的返回值是截取后的数组arr.forEach(function(value,index,self){ return}); 该方法是用于遍历数组,value就是数组中的每一个成员,index就是数组中的每一个成员所对应的下标,self是该数组。 arr.map(function(value,index,self){ retunrn}) 该方法是用于操作数组,value就是数组中的每一个成员,index就是数组中的每一个成员所对应的下标,self是该数组。需要定义一个新数组function会执行数组.length次 返回一个新的数组的成员,并且新数组的长度与原来的数组长度保持一致
var arr = [1,2,3,4,5]; var arr1 = arr.map(function(value){ return value*2; }); console.log(arr); //输出结果为[1,2,3,4,5] console.log(arr1); //输出结果为[2,4,6,8,10]arr.fill(num,start,end) 该方法是用于填充数组,第一个参数是要填充的数据,第二个参数是开始填充的位置(可选),第三个参数是结束填充的位置(可选)
var arr = [1,2,3,4,5]; //将数组的每一个都填充为0 console.log(arr.fill(0)); //输出结果为[0,0,0,0,0] //将数组的第二个开始往后都填充为0 console.log(arr.fill(0,1)); //输出结果为[1,0,0,0,0] //将数组的第二个到第四个填充为0 console.log(arr.fill(0,1,3)); //输出结果为[1,0,0,0,5]arr.some(function(value,index,self){ return 布尔值}) 该方法为判断数组是否含有函数中的描述,只要数组中有一个成员符合函数中的条件,就返回true,都不符合才返回false。
//判断数组是否含有字符串。 //方法一 var arr = [1,2,3,4,5]; var result = false; for(var i = 0;i<arr.length;i++){ if(typeof arr[i] === "string"){ return = true; break; } } console.log(result); //此时为false,若存在字符串则为true //方法二 var arr = [1,2,3,4,5]; var result = arr.some(function(value,index,self){ return typeof value === "string"; }); console.log(result); //此时为false,若存在字符串则为truearr.every(function(value,index,self){ return 布尔值}) 该方法为判断数组是否含有函数中的描述,数组中每一个成员符合函数中的条件,就返回true,都不符合才返回false。
var arr = [1,2,3,"4",5]; var result = arr.every(function(value,index,self){ return typeof value === "string"; }) console.log(result); //此时为false,因为数组中只有一项符合条件arr.indexOf(num.start) 该方法用于查找数组中是否存在某一个成员,如果找得到话返回该成员的下标,如果找不到的话则返回-1。第一个参数表示要查找的成员