首页 > 代码库 > 数组的方法(连接,截取,删除,插入,替换,以及封装一个函数)

数组的方法(连接,截取,删除,插入,替换,以及封装一个函数)

连接两个数组;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);

 


数组的方法(连接,截取,删除,插入,替换,以及封装一个函数)