The addition and deletion of js array elements has always been confusing. Today I finally found detailed information. Please give me the code for testing first^-^
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 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: delete the first item of the original array and return the value of the deleted element; if the array is empty, it returns undefined
var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1
unshift: Add parameters to the beginning of the original array and return the length of the array
var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
Note: The test return value under IE6.0 is always undefined, and the test return value under FF2.0 is 7, so the return value of this method is unreliable. When the return value is needed, splice can be used instead of this method.
pop: Delete the last item of the original array and return the value of the deleted element; if the array is empty, it returns undefined
var a = [1,2,3,4,5]; var b = a.pop(); //a:[1,2,3,4] b:5 //不用返回的话直接调用就可以了
push: Add parameters to the end of the original array and return the length of the array
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat: Returns a new array, which is composed of adding parameters to the original array
var a = [1,2,3,4,5]; var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...): Delete deleteCount items from the start position and insert val1, val2,...
var a = [1,2,3,4,5]; var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4] var b = a.splice(0,1); //同shift a.splice(0,0,-2,-1); var b = a.length; //同unshift var b = a.splice(a.length-1,1); //同pop a.splice(a.length,0,6,7); var b = a.length; //同push
reverse: reverse the order of the array
var a = [1,2,3,4,5]; var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
sort(orderfunction): Sort the array according to the specified parameters
var a = [1,2,3,4,5]; var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end): Returns a new array composed of items between the specified start index and the end index in the original array
var a = [1,2,3,4,5]; var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator): Combine the elements of the array into a string, using separator as the separator. If omitted, the default comma is used as the separator
var a = [1,2,3,4,5]; var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
Give me another method of using arrays to simulate javaStringBuffer to process strings:
/** * 字符串处理函数 */ function StringBuffer() { var arr = new Array; this.append = function(str) { arr[arr.length] = str; }; this.toString = function() { return arr.join(""); //把append进来的数组ping成一个字符串 }; }
I suddenly discovered that join is a good way to convert an array into a string in my application today, so I encapsulated it into an object and used it:
/** * 把数组转换成特定符号分割的字符串 */ function arrayToString(arr,separator) { if(!separator) separator = "";//separator为null则默认为空 return arr.join(separator); } /** * 查找数组包含的字符串 */ function arrayFindString(arr,string) { var str = arr.join(""); return str.indexOf(string); }
The above is the entire content of this article, I hope you all like it.