Defining an array: var arr = [n/a]; var arr = new Array (No.);
Shift: Deletes the first item of the original array and returns the value of the deleted element; returns undefined if the array is empty
var a = [1,2,3,4,5];
var B = A.shift (); a:[2,3,4,5] B:1
Unshift: Adds a parameter to the beginning of the original array and returns 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,ff2.0 Test return value is 7, so the return value of this method is not reliable, need to use the return value when the splice can be used instead of this method.
Pop: Deletes the last item of the original array and returns the value of the deleted element; returns undefined if the array is empty
var a = [1,2,3,4,5];
var B = A.pop (); a:[1,2,3,4] B:5
Push: Adds a parameter to the end of the original array and returns 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 that consists 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,...) : Deletes the DeleteCount entry from the start position and inserts the Val1,val2,... from that position;
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); with shift
a.splice (0,0,-2,-1); var B = a.length; with unshift
var B = A.splice ( a.length-1,1); with 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): Sorts the array by 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 that consists of the entries from the original array that specify the starting subscript to the end subscript
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): Sets the element group of the array as a string, separator as a delimiter, or by default with a comma delimiter if omitted
var a = [1,2,3,4,5];
var B = A.join ("|"); a:[1,2,3,4,5] B: "1|2|3|4|5"
An array is an internal object provided by JavaScript, which is a standard set of elements that we can add (push), delete (shift) inside, and we can also iterate through the elements in a for loop, so can we have other collections in JavaScript besides arrays?
Because of the language nature of JavaScript, we can add and remove properties to common objects dynamically. So object can also be seen as a special set of JS. The following compares the attributes of array and object:
Array:
NEW: var ary = new Array (); or var ary = [];
Added: Ary.push (value);
Deleted: Delete ary[n];
Traversal: for (var i=0; i < ary.length; ++i) ary[i];
Object:
NEW: var obj = new Object (); or var obj = {};
Added: Obj[key] = value; (Key is String)
Deleted: Delete Obj[key];
Traverse: for (var key in obj) Obj[key];
From the above comparison, you can see that object can be used as a collection, and in the use of the popup window to create an infinite level Web page menu (3) I introduced the __menucache__ that Eric implements, which is a mock collection object.
If we want to retrieve a specified value in the array, we need to traverse the entire array:
var keyword =;
for (var i=0; i < ary.length; ++i) &NB SP;
{ < /span>
//todo
}
Instead, we retrieve an entry for the specified key in object, just to use:
Code:
var key = ';
var value = Obj[key];
Todo
This feature of object can be used to efficiently retrieve a unique set of strings, the time complexity of traversing an array is O (n), and the time complexity of traversing an object is O (1). Although for the 10,000-time set of the cost of dozens of MS, but if it is 1000*1000 or more, the advantage of using object is reflected. Before this I made a mapping, the 100 unique characters mapping to 1000 string array, time-consuming 25-30s! later changed the for traversal to the object simulation of the collection of member references, the same amount of data mapping, Time-consuming only 1.7-2S!!!
Traversal efficiency (high to low) for a collection: var = obj[key]; > for (;;) > for (in). The least efficient is for (in), if the collection is too large, try not to use a for (in) traversal.
JS Array operation