Home > Web Front-end > JS Tutorial > body text

Detailed explanation of js array operations_javascript skills

WBOY
Release: 2016-05-16 17:39:06
Original
923 people have browsed it

I have been using js for a long time, but I have never delved into the array form of js. Occasionally, just use simple string.split(char). A project I worked on during this period used arrays in many places. I thought I was a master of JS but I couldn’t start with it. I’ll learn from you! hehe. After learning it, I realized that js arrays are very powerful, much more powerful than VB and C#. Let’s take a look

1. Creation of array

Copy code The code is as follows:

var arrayObj = new Array(); //Create one Array
var arrayObj = new Array([size]); //Create an array and specify the length. Note that it is not the upper limit, but the length
var arrayObj = new Array([element0[, element1[, ...[ , elementN]]]]); //Create an array and assign values ​​

It should be noted that although the second method creates an array and specifies the length, in fact the array is variable-length in all cases, which means that even if the length is specified to be 5, the elements can still be stored at the specified length. Otherwise, please note: the length will change accordingly.

2. Access to array elements

Copy code The code is as follows:

var testGetArrValue=arrayObj[1]; //Get the array The element value
arrayObj[1]= "This is the new value"; //Assign a new value to the array element

3. Adding array elements

Copy code The code is as follows:

arrayObj. push([item1 [item2 [. . . . [itemN ]]]]);//Add one or more new elements to the end of the array and return the new length of the array
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]); // Start by adding one or more new elements to the array, the elements in the array are automatically moved back, and the new length of the array is returned
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN ]]]]);//Insert one or more new elements into the specified position of the array. The element at the insertion position is automatically moved back and "" is returned.

4. Deletion of array elements

Copy code The code is as follows:

arrayObj.pop(); //Remove the last one element and return the element value
arrayObj.shift(); //Remove the first element and return the element value, the elements in the array are automatically moved forward
arrayObj.splice(deletePos,deleteCount); //Delete from Specifies the number of deleteCount elements starting from deletePos at the specified position, and returns the removed elements in array form

5. Interception and merging of arrays

/ /Return a part of the array in the form of an array. Note that the element corresponding to end is not included. If end is omitted, all elements after start will be copied

arrayObj.concat([item1[, item2[, . . . [,itemN]] ]]); //Concatenate multiple arrays (can also be strings, or a mixture of arrays and strings) into one array, and return the connected new array




Copy code

The code is as follows:

arrayObj.slice(0); //Return the array Copy the array, note that it is a new array, not pointing to

arrayObj.concat(); //Return the copy array of the array, note that it is a new array, not pointing to




Copy code

The code is as follows:

arrayObj.reverse(); //Reverse elements ( The first one goes to the end, the last one goes to the front), returns the array address

arrayObj.sort(); // Sort the array elements, returns the array address




Copy code

The code is as follows:


arrayObj.join(separator); //Returns a string that connects each element value of the array together, separated by separator.
toLocaleString, toString, valueOf: can be regarded as special usage of join, not commonly used

2. Three attributes of array objects

1. length attribute

The Length attribute represents the length of the array, that is, the number of elements in it. Because the index of an array always starts from 0, the upper and lower limits of an array are: 0 and length-1 respectively. Unlike most other languages, the length property of JavaScript arrays is variable, which requires special attention. When the length attribute is set larger, the state of the entire array does not actually change, only the length attribute becomes larger; when the length attribute is set smaller than the original, the elements in the original array with indexes greater than or equal to length will All values ​​are lost. The following is an example demonstrating changing the length attribute:

Copy code The code is as follows:

var arr=[12,23,5,3, 25,98,76,54,56,76];
//Defines an array containing 10 numbers
alert(arr.length); //Displays the length of the array 10
arr.length =12; //Increase the length of the array
alert(arr.length); //Display that the length of the array has become 12
alert(arr[8]); //Display the value of the 9th element , is 56
arr.length=5; //Reduce the length of the array to 5, elements with indexes equal to or exceeding 5 are discarded
alert(arr[8]); //Show that the 9th element has been Becomes "undefined"
arr.length=10; //Restore the array length to 10
alert(arr[8]); //Although the length is restored to 10, the 9th element cannot be recovered , displays "undefined"

From the above code we can clearly see the nature of the length attribute. But the length object can not only be set explicitly, it may also be modified implicitly. You can use an undeclared variable in JavaScript. Similarly, you can also use an undefined array element (referring to an element with an index greater than or equal to length). In this case, the value of the length attribute will be set to the value of the element index used. Add 1. For example, the following code:

Copy code The code is as follows:

var arr=[12,23,5,3, 25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);

The code also first defines an array containing 10 numbers. It can be seen from the alert statement that its length is 10. Then the element with index 15 is used and assigned a value of 15, that is, arr[15]=34. At this time, the alert statement is used to output the length of the array, and the result is 16. Regardless, this is a surprising feature for developers accustomed to strongly typed programming. In fact, the initial length of an array created using new Array() is 0. It is the operation of undefined elements that causes the length of the array to change.
As you can see from the above introduction, the length attribute is so magical. You can use it to easily increase or decrease the capacity of the array. Therefore, an in-depth understanding of the length attribute will help to use it flexibly during the development process.

2. prototype attribute

Returns a reference to the prototype of the object type. The prototype property is common to object.
objectName.prototype
objectName parameter is the name of the object object.

Description: Use the prototype attribute to provide a set of basic functions of the object's class. New instances of an object "inherit" the operations assigned to the object's prototype.
For array objects, the following example illustrates the use of the prototype attribute.
Add a method to the array object that returns the maximum element value in the array. To accomplish this, declare a function, add it to Array.prototype, and use it.

Copy code The code is as follows:

function array_max()
{
var i,
max = this[0];
for (i = 1; i < this.length; i )
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();

After this code is executed, y holds the maximum value in the array x, or say 6.

3. constructor attribute

represents a function that creates an object.
object.constructor //object is the name of the object or function.

Description: The constructor property is a member of all objects with prototype. They include all JScript native objects except Global and Math objects. The constructor property holds a reference to the function that constructs a specific object instance.

For example:

Copy code The code is as follows:

x = new String("Hi");
if (x.constructor == String) // Process (condition is true).

or

Copy code The code is as follows:

function MyFunc {
// Function body.
}

Copy code The code is as follows:

y = new MyFunc;
if (y. constructor == MyFunc) // Process (condition is true).

For arrays:

Copy code The code is as follows:

y = new Array ();
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template