Home > Article > Web Front-end > Examples to explain the operation method of array Array in JS_Basic knowledge
The addition and deletion of js array elements has always been confusing. Today I finally found detailed information. First, give me the code for testing^-^
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 The value is 7, so the return value of this method is unreliable. When you need to use the return value, 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//If you don’t need to return, just call it directly
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 formed by 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,...
When clearing the array, just pass startIndex.
If you do not want to delete all elements, pass the deleteCount parameter again.
splice also has the function of deleting first and then adding, that is, deleting several elements first, and then adding several elements at the deleted positions. The number of deleted and added elements does not have to be equal. DeleteCount is also used at this time. of.
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); //Same as shift
a.splice(0,0,-2,-1); var b = a.length;//Same as unshift
var b = a.splice(a.length-1,1);//Same as pop
a.splice(a.length,0,6,7 ); var b = a.length; //Same as push
reverse: Reverse 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 from the specified start index to 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:
/**
* String processing function
*/
function StringBuffer() {
var arr = new Array;
this.append = function(str) {
arr[arr.length] = str;
};
this.toString = function() {
return arr.join("");//Ping the appended array into a string
};
}
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:
/**
*Convert the array into a string separated by specific symbols
*/
function arrayToString(arr,separator) {
if(!separator) separator = "";//If separator is null, it defaults to empty
Return arr. join(separator);
}
/**
* Find the string contained in the array
*/
function arrayFindString(arr,string) {
var str = arr.join("");
return str.indexOf(string);
}