javascript 数组方法的一些总结
数组的方法:
1.toString()
1)作用:将数组转为字符串,转后的字符串以逗号分隔
2)返回值:返回转换后的字符串
3)是否会影响到原数组:否
var arr=[1,2,3,4,5];
var arr2=arr.toString();
console.log(arr);//[1,2,3,4,5]
console.log(arr2);//1,2,3,4,5
//
2.join(指定的分隔符)
1)作用:将数组转为带有指定分隔符的字符串
2)返回值:返回转换后的字符串
3)是否会影响到原数组:否
var arr=[1,2,3,4,5];
var arr3=arr.join("--");
console.log(arr3);//1--2--3--4--5
//
3.concat(要拼接的元素)
1)作用:将元素拼接到指定的数组后面并产生一个新的数组
2)返回值:返回拼接后的新数组
3)是否会影响到原数组:否
var arr1=[90,96];
var arr2=[80,89,86];
var arr3=[70,77];
var arr4=arr3.concat(arr2,100,arr1);
console.log(arr3);//[70,77]
console.log(arr4);//[70, 77, 80, 89, 86, 100, 90, 96]
//
4.slice(开始下标,真正的结束=结束下标-1)
获取子数组,含头不含尾,原来数组不变
返回值:返回被截取到的元素
如果只有开始将获取后面所有的内容
可以取负值,最后一个数是-1,往前推(-2,-3...)
是否会影响到原数组:否
var arr=[10,20,30,40,50];
var arr2=arr.slice(1,4);
var arr3=arr.slice(1);
var arr4=arr.slice(-3,-1);//从左往右
console.log(arr);//[10, 20, 30, 40, 50]
console.log(arr2);// [20, 30, 40]
console.log(arr3);//[20, 30, 40, 50]
console.log(arr4);//[30, 40]
//
5.splice(开始下标,删除的长度,要增加的元素……)
1)作用:可以在数组中任意位置增加、删除、修改元素
2)返回值:返回被删除的元素
3)是否会影响到原数组:是
语法:arrObjck.splice(start,count,e1,e2,...en);
参数start:指定删除/添加的起始元素,可取负值.
参数count:要删除元素个数;0表示不删除.
e1,e2,...en;在start处新添加的项
增加:var arr=[10,20,30,40,50];
arr.splice(2,0,60,70,80);
console.log(arr);//[10, 20, 60, 70, 80, 30, 40, 50]
//
删除:var arr=[10,20,30,40,50];
arr.splice(2,1);//从下标2的位置开始删除1个
console.log(arr);//[10, 20, 40, 50]
替换:var arr=[10,20,30,40,50];
arr.splice(2,1,300);///从下标2的位置开始删除1个,用300来替换
console.log(arr);//[10, 20, 300, 40, 50]
//
6.reverse()颠倒数组 , 原来的数组发生变化
1)作用:将数组元素逆序
2)返回值:返回逆序后的数组
3)是否会影响到原数组:是
var arr=[100,2,3,4,5];
arr.reverse();
console.log(arr);//[5,4,3,2,100]
//
7.sort() 数组排序,原来的数组发生变化
a)负值:如果所传递的第一个参数比第二个参数小(从小到大按Number类型排序)
var arr=[5,6,7,1,2,3,4,40,36,77];
arr.sort(function (a,b){
return a-b;//传参 升序
})
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 36, 40, 77]
//
b)正值,如果第一个参数比第二个参数大。(从大到小按Number类型排序)
var arr=[5,6,7,1,2,3,4,40,36,77];
arr.sort(function (a,b){
return b-a;//传参 降序
})
console.log(arr);//[77, 40, 36, 7, 6, 5, 4, 3, 2, 1]
c)不传参 按照unicode排序
var arr=[5,6,7,1,2,3,4,40,36,77];
arr.sort();//不传参 按照unicode排序
console.log(arr);// [1, 2, 3, 36, 4, 40, 5, 6, 7, 77]
//
8.push() 入栈 后增 数组尾部添加内容
是否会影响到原数组:是
作用:在数组的末尾增加数组元素
var arr=[10,20];
arr.push(30,40,50);//可以添加多个内容,用,隔开
console.log(arr);//[10, 20, 30, 40, 50]
//
pop() 出栈 后删 数组尾部删除内容
作用:删除数组尾部的元素
是否会影响到原数组:是
var arr=[10,20];
arr.pop();//无法添加内容,就是指尾部删除一个
console.log(arr);//[10]
//
9.unshift() 入栈 前增 数组头部添加内容
1)作用:在数组的前面增加数组元素
2)返回值:增加后的数组长度
3)是否会影响到原数组:是
var arr=[10,20];
arr.unshift(30,40,50);//可以添加多个内容,用,隔开
console.log(arr);//[30, 40, 50, 10, 20]
shift() 出栈 前删 数组头部删除内容
1)作用:删除数组头部的元素
2)是否会影响到原数组:是
var arr=[10,20];
arr.shift();//无法添加内容,就是指头部删除一个
console.log(arr);//[20]

浙公网安备 33010602011771号