Home >Web Front-end >JS Tutorial >Common javascript operation codes for arrays Summary of array methods_javascript skills

Common javascript operation codes for arrays Summary of array methods_javascript skills

WBOY
WBOYOriginal
2016-05-16 18:11:31866browse
1. shift: delete the first item of the original array and return the value of the deleted element; if the array is empty, return undefined
var a = [1,2,3,4,5];
var b = a.shift(); //a: [2,3,4,5] b: 1
2. 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 and needs to be used When returning a value, splice can be used instead of this method.
3. 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
4. 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
5. 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]
6. splice(start,deleteCount,val1,val2,...): Delete the deleteCount item 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); //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
7. 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]
8. 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]
9. slice(start,end): Returns the specified start index to the end index in the original array. A new array composed of items between
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a: [1, 2,3,4,5] b: [3,4,5]
10. join(separator): Combine the elements of the array into a string, using separator as the separator. If omitted, use By default, commas are used as delimiters
var a = [1,2,3,4,5];
var b = a.join("|"); //a: [1,2 ,3,4,5] b: "1|2|3|4|5"
Array is an internal object provided by JavaScript. It is a standard collection. We can add (push) and delete (shift) We can also traverse the elements inside through a for loop, so besides arrays, can we have other collections in JavaScript?
Due to the language features of JavaScript, we can dynamically add and delete attributes to general objects. So Object can also be regarded as a special collection of JS. Let’s compare the characteristics of Array and Object:
Array:
New: var ary = new Array(); or var ary = [];
Add: ary.push(value);
Delete :delete ary[n];
Traversal: for ( var i=0 ; i < ary.length ; i ) ary[i];
 Object:
New: var obj = new Object() ; or var obj = {};
Add: obj[key] = value; (key is string)
Delete: delete obj[key];
Traverse: for ( var key in obj ) obj[ key];
From the above comparison, we can see that Object can be used as a collection. In using the Popup window to create an infinite Web page menu (3), I introduced the __MenuCache__ implemented by Eric, which is also a A mocked collection object.
If we want to retrieve a specified value in Array, we need to traverse the entire array:
Code:
Copy code The code is as follows:

var keyword = ;
 for ( var i=0 ; i < ary.length ; i )
 {
  if ( ary[i ] == keyword )
 {
 // todo
 }
 }

  To retrieve an entry with a specified key in Object, we only need to use :
Code:
Copy code The code is as follows:

var key = '';
 var value = obj[key];
 // todo

This feature of Object can be used to efficiently retrieve Unique string collections. The time complexity of traversing Array is O(n), while the time complexity of traversing Object is O(1). Although the cost of for retrieval for 10,000 collections is only tens of ms, if it is 1,000*1,000 retrievals or more, the advantages of using Object will be immediately apparent. Before that, I did a mapping, mapping 100 Unique characters to 1000 string arrays, which took 25-30 seconds! Later, I changed the for traversal to the member reference of the Object simulated collection, and the same amount of data was mapped , it takes only 1.7-2s!!!
For the traversal efficiency of the collection (from high to low): var value = obj[key]; > for ( ; ; ) > for ( in ). The least efficient one is for(in). If the collection is too large, try not to use for(in) to traverse.
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn