1.关于数组的一些方法
push
作用:向数组的末尾追加一个或多个元素
返回值:数组的length
注意:会改变原数组
参数:
要追加的元素
pop
作用:删除数组的最后一项
返回值:被删除的一项
注意:会改变原数组
参数:无
unshift:
作用:向数组的最前面添加一个或多个元素
返回值:数组的length
注意:会改变原数组
参数:
要添加的元素
shift:
作用:删除数组第一项
返回值:被删除的一项
注意:会改变原数组
参数:无
var str="abc"; var arr=[3,2,7]; arr.push(4); console.log(arr);//[3,2,7,4] arr.push(str); console.log(arr);//[3,2,7,4,"abc"] console.log(arr.length);//5 arr.length=3; console.log(arr);//[3,2,7] //arr.length=-1;//报错Invalid array length arr.length=6; console.log(arr);//[3,2,7] console.log(arr[3])//undefined; arr.length=0; console.log(arr);//[]
sort
作用:对数组进行排序的
用法:Array.sort();
返回值:是一个数组
注意:
会改变原数组
默认是从小到大排序
默认排序规则都是按照字符串排序的
参数:
不传参:
默认是从小到大排序
默认排序规则都是按照字符串排序的
传入参数:
必须是一个函数
函数两个参数:
a b
随机从数组中那两数进行减元素
如果两个数的值小于等于0 那么不交换位置
如果大于零,数组的中的两个数交换位置
var arr=[2,3,21,5,7,9,6,100]; arr.sort(); console.log(arr);//[100,2,21,3,5,6,7,9] arr.unshift("a"); console.log(arr);//["a",100,2,21,3,5,6,7,9] arr.sort(); console.log(arr);//[100,2,21,3,5,6,7,9,"a"] arr.sort(function(a,b){ return a-b; }); console.log(arr);//[2,3,5,6,7,9,21,100,"a"] arr.sort(function(a,b){ return b-a; }); console.log(arr);//[100,21,9,7,6,5,3,2,"a"] var arr=["abc","edf","bde"]; arr.sort(function(a,b){ return a.charCodeAt()-b.charCodeAt(); }) console.log(arr);//["abc","bde","edf"]; arr.sort(function(a,b){ return b.charCodeAt()-a.charCodeAt(); }) console.log(arr);//["edf","bde","abc"] var arr=[1,100,3,"b","9",8,"a"]; arr.sort(function(a,b){ return a-b; }) console.log(arr);//[1,3,100,"b",8,"9","a"],此时sort基本没有起到就有的作用 arr.sort(function(a,b){ if(typeof a!=="number"){ a=a.charCodeAt(); } if(typeof b!="number"){ b=b.charCodeAt(); } return a-b; }) console.log(arr);//[1,3,8,"9","a","b",100]
slice:
作用:截取数组中的项
用法:Array.slice()
返回值:截取的项重新组成的数组
注意:不改变原数组
参数:
同string 的slice方法
splice:
作用:删除,添加数组的项
用法:Array.splice();
注意:会改变原数组
返回值:被删除的项组成的新的数组
参数:
无参数:
返回的是空数组
第一个个参数:
是一个数字
指定从数组的那个位置开始删除
返回的是从指定位置到数组最后,所有项组成的新数组
第二参数:
指定删除的个数
个数 0 那么返回值为空数组
第三个参数
从第三个参数开始,后面依次填写的参数,就是想数组中添加的元素
concat
作用:连接一个或者多个数组
用法:Array.concat();
注意:不会改变原数组
返回值:几个数组连接受组成的新数组
参数:
可以传入数组
可以传入值的形式
"122" 123 null
reverse
作用:翻转数组的
用法:Array.reverse()
注意:会改变原数组
返回值:翻转后数组组成的新数组
参数:无
var arr=[2,43,5]; var abc=arr.slice(1); console.log(abc);//[43,5] console.log(arr);//[2,43,5] var bd=arr.splice(1,0,"de","gd"); console.log(bd);//[] console.log(arr);//[2,"de","gd",43,5] var arr1=[25,3,2]; var arr2=[51,3,1]; var arr3=[[[["gda"]]]]; var newArr=arr1.concat(0,3,2,arr3,arr2); console.log(arr1); console.log(arr2); console.log(newArr); newArr=arr1.concat(arr3,arr3,arr2,arr2); console.log(newArr) var gd=arr.reverse(134); console.log(arr); console.log(gd); var str="gadga"; var str2=str.split("").reverse().join(""); console.log(str2);//agdag