


JavaScript array operations (creation, element deletion, array copy)_Basic knowledge
1. Creation of array
var arrayObj = new Array(); //Create an 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
var testGetArrValue=arrayObj[1]; //Get the element value of the array
arrayObj[1]= "This is the new value"; //Assign a new value to the array element
3. Adding array elements
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 ]]]]);// At the beginning of 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 returns "".
4. Deletion of array elements
arrayObj.pop(); //Remove the last 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 the specified number of deleteCount elements starting from the specified position deletePos, and return the removed elements in array form
5. Interception and merging of arrays
arrayObj.slice(start, [end]); //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
6. Copy of array
arrayObj.slice(0); //Returns a copy array of the array, note that it is a new array, not pointing to
arrayObj.concat(); //Returns a copy array of the array, note that it is a new array, Not pointing to
7. Sorting of array elements
arrayObj.reverse(); //Reverse the elements (the first to the last, the last to the front), return the array address
arrayObj.sort(); // Sort the array elements, return the array address
8. Stringification of array elements
arrayObj.join(separator); //Return a string. This string connects each element value of the array together, separated by separator.
toLocaleString, toString, valueOf: can be regarded as special uses of join, which are 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 that demonstrates changing the length attribute:
var arr= [12,23,5,3,25,98,76,54,56,76];
//Define an array containing 10 numbers
alert(arr.length); //Display the array The length of 10
arr.length=12; //Increase the length of the array
alert(arr.length); //Show that the length of the array has become 12
alert(arr[8]); //Display the value of the 9th element, which is 56
arr.length=5; //Reduce the length of the array to 5, and elements with indexes equal to or exceeding 5 are discarded
alert(arr[8]) ; //Show that the 9th element has become "undefined"
arr.length=10; //Restore the array length to 10
alert(arr[8]); //Although the length is restored to 10 , but the 9th element cannot be recovered and 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:
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 to return the maximum element value in the array. To accomplish this, declare a function, add it to Array.prototype, and use it.
function array_max( )
{
var i, max = this[0];
for (i = 1; i
{
if (max
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:
x = new String("Hi ");
if (x.constructor == String) // Process (condition is true).
or
function MyFunc {
// function body.
}
y = new MyFunc;
if (y.constructor == MyFunc) // Process (condition is true).

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

JavaScript's applications in the real world include server-side programming, mobile application development and Internet of Things control: 1. Server-side programming is realized through Node.js, suitable for high concurrent request processing. 2. Mobile application development is carried out through ReactNative and supports cross-platform deployment. 3. Used for IoT device control through Johnny-Five library, suitable for hardware interaction.

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing

This article demonstrates frontend integration with a backend secured by Permit, building a functional EdTech SaaS application using Next.js. The frontend fetches user permissions to control UI visibility and ensures API requests adhere to role-base


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

WebStorm Mac version
Useful JavaScript development tools