超详细的javascript数组方法总结
一、数组1的常用方法:join();
将数组转换为字符串显示。不输入参数,默认为逗号连接;输入参数,然后连接参数。
var arr=[1,2,3];console . log(arr . join());//1,2,3;console . log(arr . join(' _ '));//1_2_3;console . log(arr);//[1,2,3];原始数组保持不变。
2:反向();
数组以相反的顺序排列,原始数组被修改。
var arr=[1,2,3];var arr 2=arr . reverse();console . log(arr 2);//[3,2,1];console . log(arr);//[3,2,1];3:sort();
默认情况下,按升序排列数组项,调用每个数组项的toString()方法,然后从字符串的第一个位置开始比较获得的字符串。
var arr=[2,12,14,21,5];console . log(arr . sort());//[12, 14, 2, 21, 5];还可以传入一个比较函数作为参数。如果第一个参数应该排在第一位,比较函数将返回一个小于0的值;相反,如果第一个参数较晚,比较函数将返回一个大于0的值;如果顺序不重要,比较函数返回0;
var arr=[2,12,14,21,5];console.log(arr.sort(函数(a,b){ return a-b });//[2,5,12,14,21];var arr1=[2,12,14,21,5];console.log(arr1.sort(函数(a,b){ return B- a });//[21,14,12,5,2];4:concat();
合并数组,保持原始数组不变。
var arr=[1,2,3];console.log(arr.concat(4,5));//[1, 2, 3, 4, 5];console.log(arr.concat([4,5],6));//[1, 2, 3, 4, 5, 6];console.log(arr.concat([[4,5],6]);//[1, 2, 3, [4, 5],6];console . log(arr);//[1, 2, 3];5:切片();
返回一个局部数组,该数组包含对应于第一个参数的数组项,但不包含对应于第二个参数的数组项。如果传入参数小于0,则从后向前计数,最后一项为-1。如果只传入一个参数,则返回的数组包含从数组开始位置到结束位置的所有元素。原始数组保持不变。
var arr=[1,2,3,4,5];console.log(arr.slice(1,3));//[2,3];console . log(arr . slice(1));//[2,3,4,5];console.log(arr.slice(1,-1));//[2,3,4];console . log(arr);//[1,2,3,4,5];6:拼接();
阵列拼接:
1).delete-用于删除一个元素,有两个参数,第一个参数(第一个要删除项的位置),第二个参数(要删除项的个数);
2).插入-将任何项目元素插入数组的指定位置。三个参数,第一个参数(实际位置),第二个参数(0),第三个参数(插入项);
3)Replace-将任意项元素插入数组的指定位置,同时删除任意数量的项和三个参数。第一个参数(起始位置),第二个参数(删除项目数),第三个参数(插入任意数量的项目);
Splice()返回由删除的元素组成的数组,如果没有删除任何元素,则返回空数组。原始数组已被修改。
var arr=[1,2,3,4,5,6];console.log(arr .拼接(2));//[3,4,5,6];console . log(arr);//[1,2];console.log(arr .拼接(2,0,3,4,5,6));//[];console . log(arr);//[1,2,3,4,5,6];console.log(arr .拼接(2,2));//[3,4];console . log(arr);//[1,2,5,6];7:推动()和弹出(),松开()和移动();
Push()和pop()堆栈方法,后进先出。原始数组已更改。
push()方法在数组末尾添加一个或多个元素,并返回数组的新长度。
pop()方法删除数组的最后一个元素,减少数组的长度并返回删除的值。
Unshift()和shift()队列方法,先进先出。原始数组已更改。
Unshift()方法将一个或多个元素添加到数组的头部,更改现有元素的索引,然后返回数组的新长度。
shift()方法删除数组的第一个元素并返回,同时更改现有元素的索引。
var arr=[1,2,3];console . log(arr . push(4));//4;console . log(arr);//[1,2,3,4];console . log(arr . pop());//4;console . log(arr);//[1,2,3];console . log(arr . unshift(0));//4;console . log(arr);//[0,1,2,3];console . log(arr . shift());//0;console . log(arr);//[1,2,3];8:forEach();
forEach()中的第一个参数是集合中的元素,第二个参数是集合中的索引,第三个参数是集合本身。
9:map();
Map()对数组中的每个项目运行一个给定的函数,并返回由每个函数调用的结果组成的数组。原始数组未被修改。
10:每隔()
对数组的每一项运行给定的函数,如果函数对每一项都返回true,则返回true。
11:部分()
对数组的每一项运行一个给定的函数,如果函数对任何一项都返回true,则返回true。
12:过滤器()
对数组中的每个项目运行一个给定的函数,并返回该函数以返回一个真项目数组。
13: reduce()和reduce right();这两种方法都迭代数组中的所有项,然后构建最终返回值。reduce()方法从数组的第一项开始,逐个遍历到最后一项。而reduceRight()从数组的最后一项开始,向前遍历到第一项。数组未被修改。
二、扩展方法1:阵列重复数据消除。
函数唯一(数组){ return array.filter(函数(项,索引){ return array.indexOf(项)=index})};var arr=[1,2,3,3,4,2,1,5];console.log(唯一(arr));//[1,2,3,4,5];函数唯一(arr){ var arr2=[arr[0]],len=arr.lengthif(!len){ return;} for(var I=0;伊琳;i ){ arr2.join(')。indexOf(arr[i])0?arr 2 . push(arr[I]):“”;}返回arr2}var arr=[1,2,3,3,4,2,1,5];console . log(uniq(arr));//[1,2,3,4,5] 2:移除数组中的空元素。
函数deleteNullInArray(数组){ return array.filter(函数(项){ return item!=null}) }var arr=[1,2,null,5];console . log(deleteNullinarray(arr));//[1,2,5];
版权声明:超详细的javascript数组方法总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。