JS知识整理随笔(3)数组
创建数组
使用Array构造函数
语法:new Array()
小括号说明
- 预先知道数组要保存的项目数量
- 向Array构造函数中传递数组应包含的项
使用数组字面量表示法
由一对包含数组项的方括号[]表示,多个数组项之间逗号隔开。
数组中的每个值都可以是不同的类型
数组方法
- push()
语法:arrayObject.push(x,x1....,xn)
功能:把它的参数顺序添加到arrayObject尾部
返回值:把它指定的值添加到数组后的新长度
- unshift()
语法:arrayObject.unshift(x,x1....,xn)
功能:把它的参数顺序添加到arrayObject开头
返回值:把它指定的值添加到数组后的新长度
- pop()
语法:arrayObject.pop()
功能:删除arrayObject的最后一个元素
返回值:被删除的那个元素
- shifl
语法:arrayObject.pop()
功能:删除arrayObject的第一个元素
返回值:被删除的那个元素
- join
语法:arrayObject.join(separator)
功能:用于把数组中所有元素放入一个字符串
返回值:字符串
var nums=[2,3,4]; var words=["hello","word"] console.log(nums.join()) console.log(words.join("-"))
- reverse
语法:stringObject.reverse()
功能:用于颠倒数组元素的顺序
返回值:数组
var nums=[2,3,4]; console.log(nums.reverse())
- sort
语法:arrayObject.sort(sortby)
功能:用于对数组的元素进行排序
返回值:数组
说明
- 即使数组中的每一项都是数值,sort()方法比较的也是字符串
- sort()方法可以接受一个比较函数作为参数
var nums=[16,23,3,14,2,-19]; //降序 console.log(nums.sort(function(a,b){return b-a})); //升序 console.log(nums.sort(function(a,b){return a-b}));
- concat
语法:arrayObject.conat(x1,x2...xn)
功能:用于连接两个或多个数组
返回值:数组
var nums=[16,23,3,14,2,-19]; var Word=["hello","word"]; var c=nums.concat(Word); console.log(c);
- slice
语法:arrayObject.slice(start,end)
功能:从已有的数组中返回选定元素
参数
stat(必需) 规定从何处开始选取,如果是负数,从数组尾部开始算起
end(可选) 规定从何处结束选取,是数组片断结束处的数组小标
var a=[1,2,3,4,5,6,7,8] console.log(a.slice(2,6)); //[3,4,5,6] console.log(a.slice(3,6)); //[4,5,6] console.log(a.slice(3,5)); //[4,5] console.log(a.slice(-6)); //[3,4,5,6,7,8] 公式:长度-开始位 (8-6) console.log(a.slice(-2)); //[7,8] (8-2) console.log(a.slice(-4,6)); //[5,6] (8-4) 从第四位开始截取 到第六位结束
- splice
删除数组项
语法:arrayObject.splice(index,count)
功能:删除index处开始的零个或多个元素
返回值:含有被删除的元素的数组
说明
count是要删除的数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值
var arr=["a","b","c","d","e"]; var delArr=arr.splice(2,2); console.log(arr); console.log(delArr);
插入数组项
语法:arrayObject.splice(index,0,item1,...itemx)
功能:在指定位置插入值
参数 index 起始位置 0 要删除的项数 item1,...itemx要插入的项
返回值:数组
var arr=["a","b","c","d","e"]; var AddArr=arr.splice(3,0,"m","n"); console.log(AddArr);
替换数组项
语法:arrayObject.splice(index,count,itenm1,...itemX)
功能:在指定位置插入值,且删除任意数量的项
参数
inex 其实位置 count要删除的项数 item1,...itemx要插入的项
返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)
var arr=["a","b","c","d","e"]; var replaceArr=arr.splice(1,2,"m","n"); console.log(arr); console.log(replaceArr);
- index0f
语法:arrayObject.indexOf(searchvalue,startIndex)
功能:从数组的开头(位置0)开始向后查找
参数
searchvalue:必需 要查找的项
startIndex:可选,起点位置的索引
返回值
number,查找的项在数组中的位置,没有找到的情况下返回-1
var arr=[1,7,8,7,8]; var pos=arr.indexOf(7); var pos1=arr.indexOf(7,3); console.log(pos); console.log(pos1);
- lastIndexof
语法:arrayObject.indexOf(searchvalue,startIndex)
功能:从数组的末尾后查找
参数
searchvalue:必需 要查找的项
startIndex:可选,起点位置的索引
返回值
number,查找的项在数组中的位置,没有找到的情况下返回-1
var arr=[1,7,8,7,8]; var pos=arr.lastIndexOf(7); var pos1=arr.lastIndexOf(7,3); console.log(pos); console.log(pos1);