数组的方法(连接,截取,删除,插入,替换,以及封装一个函数)
连接两个数组;concat,形成一个新数组
数组1.concat(数组2,数组1)
返回值:数组
var arr1=[1,2], arr2=[3,4], arr3; arr3=arr1.concat(arr2,arr1); console.log(arr3);
另外方法,截取《是来是》__.slice(start,end)
___.slice(start,end)功能:从已有的数组中返回选定的元素
参数
如果参数有一个是负数,则用数组长度加上该数来确定相应的位置
start(必须)规定从何处开始选取,如果从头开始,选择为索引为0,如是负数,从数组尾部开始算起
end(可选)规定从何处结束选取,是数组片断结束处的数组下标(索引-1),如果没有,切分的数组包含从start到数组结束的所有元素。
返回值:数组
var colors=["red","green","blue",yellow]; var newcolors=colors.slice(1,3); console.log(newcolors);
面试题
//完成已下代码,实现b数组对a数组的拷贝, var a=[1,"yew",3], b; //1数组遍历,push b =new Array(); for(var i=0;i<a.length;i++){ b.push(a[i]); //2concat() b=[].concat(a); 3slice(); b=a.slice(0); console.log(b);
splice《射铺赖是》 1 删除
语法___.splice(index,count)
,功能:删除从index处的零个或多个元素。
返回值:含有被删除的元素数组。
说明:count是要删除的项目数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值。
2 插入
语法___.splice(index,0,item1,....itemx)
功能:在指定位置插入值
参数:index:起始位置后面(索引+1)
0:要删除的项数
item1.。。itemx:要插入的项
返回值:数组
3 替换
——.splice(index,count,item1....itemx)
功能:在指定位置插入值,且同时删除任意数量的项
参数:index:起始位置
count:要删除的项数
item1....itemx:要插入的项
返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)
var arr=["a","b","c","d"] 1// var add=arr.splice(2,2); //输出删除c,d 2// var add=arr.splice(3,0,"m","n"); //因为没有删除,所以为空,而arr就显示插入完成。 3 var add=arr.splice(1,2,"x","y"); //索引1,删除两个。add=bc,arr插入完成 console.log(arr); console.log(add);
位置的方法
语法:__.indexOf(searchvalue,startIndex)
功能:从数组的开头(位置0)开始向后查找。
参数:searchvalue:必须,要查找的项;
startIndex:可选,起点位置的索引。
返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1.
var nums=[1,4,7,5,7,2,3,4,]; var pos=nums.indexOf(7,3); //检测7在数组中的位置3位开始, var pos=nums.lastIndexOf(1); //第一个 console.log(pos);
___.lastIndexOf(searchvalue,startIndex)
功能:从数组的末尾开始向前查找。索引从前面。
参数:searchvalue:必须,要查找的项;
startIndex:可选,起点位置的索引。
返回值:number,查找的项在数组中的位置,没有找到的情况下返回-1.
...下面是兼容性问题。
1在比较第一个参数与数组中的每一项时,会使用全等操作符,即要求查找的项必须严格相等。
2数组的位置方法是ECMAScript5为数组实例新增的,所以支持浏览器只有IE9+,Firefox 2+,Safari3+,Opera9.5和Chrome
自己打造函数功能
//封装一个方法实现indexOf的功能函数。 var nums=[1,4,6,2,3,5,8,9,7]; function ArrayIndexOf(arr,value){ for(var i=0;i<arr.length;i++){ //检测value在arr中出现的位置 if(arr[i]===value){ return i; //找到相应的数字,对于的索引数i。 } } return -1; //否则出现-1 } var pos2=ArrayIndexOf(nums,4); //字符串要转换 console.log(pos2);
亲爱的读者,你喜欢就行