javaScript 工作必知(十一) 数组常用方法实现
大纲
-
Array
-
join
-
reverse反转
-
sort排序
-
concat 拼接
-
slice
-
splice
数组
//定义数组 var a = []; //使用Array定义一个数组, var a1 = new Array(1); //模仿多维数组 a1[0] = new Array(1); a1[0][0] = 1; a.push(1);//添加数组 alert(0 in a);//true var b = a.pop();//读出元素,并删除a数组元素。 alert(0 in a);//false a.push(2); delete a[0];//删除属性 alert(0 in a);//false
join
将数组转成字符串,如果不指定链接方式,默认是,
var a = [1, 2, 3]; var str = a.join(); var str1 = a.join("<>"); alert(str);//1,2,3 alert(str1);//1<>2<>3
reverse 反转
将数组的元素进行反转,改变原来数组的元素顺序,不是创建新的数组。如:
var a = [1, 2, 3]; a.reverse(); var str = a.join(); alert(str);//3,2,1
sort排序
var a = [3, 5, 9, 1, 6]; a.sort();//默认是按字符顺序排序的 for (var i = 0; i < a.length; i++) { alert(a[i]); }//1,3,5,6,9 a.sort(function (a, b) { return b-a;}) //添加 for (var i = 0; i < a.length; i++) { alert(a[i]); }//9,6,5,3,1
sort 排序,如果默认则是按照字母表顺序排序,如果按照自己方式排序,必须给一个匿名函数,假设一个参数在前,则返回一个小于0 的值,假设一个参数在后,则返回一个大于0的值。
concat拼接
concat 拼接数组,并不改变原数组,返回一个新数组,也不改变拼接数组结构。
var a = [1, 2, 3]; var o = [3, 4, 5]; var c = a.concat(o); alert(a.join());//1,2,3 alert(o.join());//3,4,5 alert(c.join());//1,2,3,3,4,5
slice
返回一段数组。slice函数中开始位置包括第一个参数,但不包括第二个参数,。
-1 表示是数组元素最后一个元素,一次类推。不改变原数组。
var a = [1, 2, 3]; a.slice(0, 2);//1,2 a.slice(1);//2,3 a.slice(-1);//3 a.slice(-2, -1);//2
splice
splice 插入或删除元素,改变原数组。
第一个参数表示删除的位置起始点,
第二个参数表示删除元数的个数,
第三个参数或任意个表示插入的元素。注意,这时第一个参数同时也表示插入的元素的位置。
var a = [1, 2, 3, 4, 5]; alert(a.splice(1, 2).join());//2,3 a=[1,4,5] alert(a.splice(1).join());//4,5 a=[1]; alert(a.splice(-1, 1).join()); 1 a=[]; var o = [2, 4]; o.splice(2, 0, 1, 2)// 删除[] o=[2,4,1,2]; alert(o.join()); o.splice(2, 0, [3,[12,32], 2], 4).join()//删除[] o=[2,4,[3,[12,32],2],3,1,2 alert(o.join());
歡迎分享,謝謝!