JS Array Operation Daquan

Source: Internet
Author: User

JS array Operation Daquan (GO) Blog Category:
    • . Net
Jsjs array Operation shift: Deletes the first item of the original array and returns the value of the deleted element, or undefined if the array is empty
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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 item from the start position and inserts val1,val2 from that position,...
JavaScript code
    1. var a = [1,2,3,4,5];
    2. var B = A.splice (2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
    3. var B = a.splice (0,1); //With Shift
    4. A.splice (0,0,-2,-1); var b = a.length; //with unshift
    5. var B = A.splice (a.length-1,1); //with pop
    6. A.splice (a.length,0,6,7); var b = a.length; //with push


Reverse: Reverse the array
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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
JavaScript code
    1. var a = [1,2,3,4,5];
    2. 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:

JavaScript code
  1.   Array:
  2. /* NEW: */var ary = new Array (), or var ary = [];
  3. /* Add: */ary.push (value);
  4. /* Delete: */deleteary[n];
  5. /* Traversal: */for ( var i=0; i < ary.length; ++i) ary[i];
  6.   Object:
  7. /* NEW: */var obj = new Object (); or var obj = {};
  8. /* Add: */obj[key] = value; (Key is String)
  9. /* Delete: */deleteObj[key];
  10. /* Traversal: */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:


Code:
JavaScript code
    1. var keyword =;
    2.   for ( var i=0; i < ary.length; ++i)
    3. {
    4.   if (ary[i] = = keyword)
    5. {
    6.   Todo
    7. }
    8. }




Instead, we retrieve an entry for the specified key in object, just to use:


Code:
JavaScript code
    1. var key = ';
    2.   var value = Obj[key];
    3.   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 Daquan

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.