JavaScript针对数组的相关操作方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
var arr = new Array(); arr[0] = "aaa"; arr[1] = "bbb"; arr[2] = "ccc"; alert(arr.length); //3 arr.pop(); alert(arr.length); //2 alert(arr[arr.length-1]); //bbb arr.pop(); alert(arr[arr.length-1]); //aaa alert(arr.length); //1 var arr2 = new Array(); alert(arr2.length); //0 arr2[0] = "aaa"; arr2[1] = "bbb"; alert(arr2.length); //2 arr2.pop(); alert(arr2.length); //1 alert(arr2[arr2.length-1]); //aaa /* arrayObj.slice(start, [end]) slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。 slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。 如果 end 出现在 start 之前,不复制任何元素到新数组中。 */ arr2 = arr2.slice(0, arr2.length-1); alert(arr2.length); //0 arr2[0] = "aaa"; arr2[1] = "bbb"; arr2[2] = "ccc"; arr2 = arr2.slice(0, 1); alert(arr2.length); //1 alert(arr2[0]); //aaa alert(arr2[1]); //undefined //shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); alert(a + "; " + b); //a:[2,3,4,5] b:1 //unshift:将参数添加到原数组开头,并返回数组的长度.注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); alert(a + "; " + b); //a:[-2,-1,1,2,3,4,5] b:7 //pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.pop(); alert(a + "; " + b); //a:[1,2,3,4] b:5 //push:将参数添加到原数组末尾,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.push(6,7); alert(a + "; " + b); //a:[1,2,3,4,5,6,7] b:7 //concat:返回一个新数组,是将参数添加到原数组中构成的 var a = [1,2,3,4,5]; var b = a.concat(6,7); alert(a + "; " + b); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7] //splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,..., 返回的是删除项数组 //在清空数组时,只需传递startIndex; 如果不删除所有元素,再传递deleteCount参数。 //splice还具有先删除后添加的功能,即先删除几个元素,然后在删除的位置再添加若干元素,删除与添加的元素的个数没有必须相等,这时侯deleteCount也是要用到的。 var a = [1,2,3,4,5]; var b = a.splice(2,2,7,8,9); // 从下标2处开始,删除2量,并从2位置增加三项(7,8,9) alert(a + "; " + b); //a:[1,2,7,8,9,5] b:[3,4] var b = a.splice(0,1); //同shift alert(a + "; " + b); //a:[2,7,8,9,5] b:[1] var a = [1,2,3,4,5]; a.splice(0,0,-2,-1); var b = a.length; //同unshift alert(a + "; " + b); //a:[-2,-1,1,2,3,4,5] b:[7] var b = a.splice(a.length-1,1);//同pop alert(a + "; " + b); //a:[-2,-1,1,2,3,4] b:[5] a.splice(a.length,0,6,7); var b = a.length; //同push alert(a + "; " + b); //a:[-2,-1,1,2,3,4,6,7] b:[8] //酷播cuplauyer.com提示:reverse:将数组反序 var a = [1,2,3,4,5]; var b = a.reverse(); alert(a + "; " + b); //a:[5,4,3,2,1] b:[5,4,3,2,1] //sort(orderfunction):按指定的参数对数组进行排序 var a = [1,4,3,2,5]; var b = a.sort(); alert(a + "; " + b); //a:[1,2,3,4,5] b:[1,2,3,4,5] //slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组 var a = [1,2,3,4,5]; var b = a.slice(2,5); alert(a + "; " + b); //a:[1,2,3,4,5] b:[3,4,5] //join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符 var a = [1,2,3,4,5]; var b = a.join("|"); alert(a + "; " + b); //a:[1,2,3,4,5] b:"1|2|3|4|5" var b2 = a.join(); alert(a + "; " + b2); //a:[1,2,3,4,5] b:"1,2,3,4,5" // 酷播cuplauyer.com提示:字符串处理函数 function StringBuffer() { var arr = new Array; this.append = function(str) { arr[arr.length] = str; return this; }; this.toString = function() { return arr.join("|"); //把append进来的数组ping成一个字符串 }; } var strBuf = new StringBuffer(); strBuf.append("1").append("2").append("3"); // strBuf.append(arg) strBuf.append("4"); strBuf.append("5"); alert(strBuf.append("6").append("7").append("8").toString()); // 1|2|3|4|5|6|7|8 // 酷播cuplauyer.com提示:把数组转换成特定符号分割的字符串 function arrayToString(arr, separator) { if(!separator) separator = ""; //separator为null则默认为空 return arr.join(separator); } var arr = new Array(1, 3, 5); alert(arrayToString(arr, "=")); // 1=3=5 // 酷播cuplauyer.com提示:查找数组包含的字符串 function arrayFindString(arr, string) { var str = arr.join(""); return str.indexOf(string); } var arr = new Array(1, 3, 5); alert(arrayFindString(arr, 3)); // 1 |
本文转自:http://www.cuplayer.com/player/PlayerCodeJS/2015/0110/1743.html
发布者:柚子,转转请注明出处:https://ityouzi.com/archives/javascript-array-code.html