


js sort Usage summary of two-dimensional array sorting_javascript skills
I have recently been working on the issue of js sorting, because database sorting consumes too many resources. If sorting can be transferred to the client, it can greatly reduce server memory consumption. As for the client, in addition to js, it is as. Unfortunately, I am too bad at as, so I can only choose js to study. . . After my testing, the js built-in method sort is very efficient
We know that the sort function is provided by default in js, but by default this function sorts the array contents in ascending order according to the ASCII code. What if we want to sort a two-dimensional array? There is a multi_sort function that can be called in php, but there seems to be no such function in js, but it doesn't matter, because the sort function of js actually also provides parameters to define a comparison function to sort two-dimensional arrays.
1. Sort by value
Suppose there is the following array
var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]];
What if we want to sort by the first column of each sub-array? We can define a comparison function:
arr.sort(function(x, y){
return x[0] – y[0];
});
What is the role of the comparison function here? In fact, the array copies the array elements to x and y in sequence. For example, first assign arr[0] to x, arr[1] to y, and then use x[0] – y[0]. According to the returned value, if If the number returned is greater than 0, then put x in the array after y. If the returned number is 0, it will remain unchanged. If it is less than 0, put x in front of y. Then, after the first one is sorted, proceed to the following Sort the two until the entire array is sorted. This is the default ascending comparison function. If you want to sort in descending order, you only need to modify the comparison method to return y[0] – x[0]. Here x[0] means sorting by the first column. We Sorting by other columns can also be done here. The sorting here will modify the array structure of arr by default, so after sorting arr will be an array in ascending order of the first column.
2. Sort by string
If you sort by string, we can use the localeCompare method provided by js,
localeCompare function: use locale-specific To compare two strings sequentially.
The usage rule of localeCompare method is stringObject.localeCompare(target). If stringObject is less than target, localeCompare() returns a number less than 0. If stringObject is greater than target, this method returns a number greater than 0. If the two strings are equal, or there is no difference according to the local sorting rules, this method returns 0. The comparer uses local rules. The local rules mean that the underlying rules of the operating system are used to sort these local characters. By default For example, a comparison using the greater than sign simply compares the unicode numbers of two characters, which is inconsistent with many languages.
For example
var arr = [['中' ,'国'], ['Ah','的'], ['Oh','的']];
arr.sort(function(x, y){
return x[0]. localeCompare(y[0]);
});
The results will be sorted by the pinyin of the Chinese characters in the first column. If it contains English, the default is to put the English in front. If If it is pure English, it will be in alphabetical order, with uppercase letters coming after lowercase letters, so that string sorting can be achieved, including Chinese and Chinese-English mixed sorting. As for sorting in descending order, the method is the same as above, change to return y[0].localeCompare(x[0]);.
In this way, the sorting problem is realized. There are still many places where js two-dimensional array sorting is used. Hope it can help some people
function tblSort(s){
for(r = 0;r arrs[r]=[]
for(c=0;c arrs[r][c] ={}//Create another object in the two-dimensional array;
arrs[r][c].html = table.rows[r].cells [c].innerHTML//Get the table HTML and put it into an associative array for sorting and displaying on the page; The text content is used for the following judgment; arrs [r][c].text='-1';
[c].text='-2';
}else if(text == ''){
arrs[r][c] rrs[r][c].text=table.rows[r].cells [c].innerText//Get the text content of the table and put it into an associative array. Used for sorting below.
0]['text'])
Reverse order;
if(reve){
arrs.sort(function(x,y){
']) - parseFloat(x[s][' text']) 🎜> arrs.sort(function(x,y){
arrs.sort(function (x,y) { ]) - parseFloat(y[s]['text'])//Sort
//Put the arranged html content into the table
for(r = 0;r for(c=0;c
🎜>

JavaScript core data types are consistent in browsers and Node.js, but are handled differently from the extra types. 1) The global object is window in the browser and global in Node.js. 2) Node.js' unique Buffer object, used to process binary data. 3) There are also differences in performance and time processing, and the code needs to be adjusted according to the environment.

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

WebStorm Mac version
Useful JavaScript development tools

Atom editor mac version download
The most popular open source editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
