Table of Contents
: Define the functions of sort order. It receives two parameters (a, b) and returns:
<不> Methods will not modify the original array.
Statue method
Example: Group data according to attributes
Home Web Front-end JS Tutorial JavaScript Array Methods: Sort, Map, Filter, and Reduce

JavaScript Array Methods: Sort, Map, Filter, and Reduce

Jan 29, 2025 am 02:30 AM

JavaScript Array Methods: Sort, Map, Filter, and Reduce

Master the JavaScript array method: sorting, mapping, filtering, and regulation to improve your web development efficiency! This article discusses the

, sort, map and filter methods of the JavaScript array, and provides practical examples to help you proficient in data processing. reduce

  1. Array.prototype.sort

    Sorting method

  2. Methods arrange array elements according to the specified order. By default, it sorted the string element in the sequential sequence of the dictionary. But through custom comparison functions, you can achieve more complicated sorting logic.

grammar sort

: Define the functions of sort order. It receives two parameters (a, b) and returns:

array.sort([compareFunction])
Copy after login
Copy after login
Negative value: If A should be ranked before B.
  • Zero: If A and B are equal. compareFunction
      Positive value: If A should be ranked behind B.
    • Example: Sort the number in the sequential order
  • Example: Sort by attribute sorting object

const numbers = [42, 7, 19, 73, 23];

numbers.sort((a, b) => a - b);

console.log(numbers); // 输出:[7, 19, 23, 42, 73]
Copy after login
Copy after login
<会> Methods modify the original array.

For numbers or complex sorting, it is necessary to provide a comparison function to avoid accidents.
const books = [
  { title: 'Book A', year: 2001 },
  { title: 'Book B', year: 1998 },
  { title: 'Book C', year: 2015 }
];

books.sort((a, b) => a.year - b.year);

console.log(books); // 输出:按年份升序排列的书籍数组
Copy after login
Copy after login
  • sort
  • Array.prototype.map
  • Map method
  1. <通过> Methods create a new array by applying the function provided to each element of the original array. It is often used in data conversion.

    grammar <语>

  2. <对>: For functions performed by each element, receive:

Current element. map

Elemental index.

Original array.
array.map(callback(element, index, array))
Copy after login
  • callback
      Example: Convert the number array
    • Example: Formatal data
    <不> The method will not modify the original array, and it returns a new array.
It is very suitable for conversion of the data structure.

const numbers = [1, 2, 3, 4, 5];

const squares = numbers.map(num => num ** 2);

console.log(squares); // 输出:[1, 4, 9, 16, 25]
Copy after login

Array.prototype.filter
const users = [
  { firstName: 'John', lastName: 'Doe' },
  { firstName: 'Jane', lastName: 'Smith' }
];

const fullNames = users.map(user => `${user.firstName} ${user.lastName}`);

console.log(fullNames); // 输出:['John Doe', 'Jane Smith']
Copy after login
Filter method
  • map
  • <创> Create a new array, which only contains elements that meet the given conditions. It is often used to extract data subsets.
  • grammar <语>
  1. <确>: Determine whether it should contain a function (return True) or exclude (back false) elements.

    Example: Filter the even number

Example: Filter the object according to the condition

filter

<不> Methods will not modify the original array.

array.filter(callback(element, index, array))
Copy after login
It is a powerful tool for extracting related data or cleaning up arrays.
  • callback
Array.prototype.Reduce

Statue method

const numbers = [1, 2, 3, 4, 5, 6];

const evens = numbers.filter(num => num % 2 === 0);

console.log(evens); // 输出:[2, 4, 6]
Copy after login

<将> The method applies a function to each element (from left to right) of the accumulator and array, and attributes it to a single value.
const products = [
  { name: 'Laptop', price: 1200 },
  { name: 'Phone', price: 800 },
  { name: 'Tablet', price: 500 }
];

const expensiveProducts = products.filter(product => product.price > 700);

console.log(expensiveProducts); // 输出:价格高于700的产品数组
Copy after login

grammar <语>

array.sort([compareFunction])
Copy after login
Copy after login
    <对>: For the function of each element, the parameters are:
  • callback Cumulator.
    • Current element.
    • Index of the current element.
    • Original array.
    <>: The initial value of the accumulator (optional, but it is recommended).
  • initialValue Example: Seeking peace

Example: Group data according to attributes

const numbers = [42, 7, 19, 73, 23];

numbers.sort((a, b) => a - b);

console.log(numbers); // 输出:[7, 19, 23, 42, 73]
Copy after login
Copy after login

<非常> The method is very flexible and can generate array, objects or single values.
const books = [
  { title: 'Book A', year: 2001 },
  { title: 'Book B', year: 1998 },
  { title: 'Book C', year: 2015 }
];

books.sort((a, b) => a.year - b.year);

console.log(books); // 输出:按年份升序排列的书籍数组
Copy after login
Copy after login
    It is a powerful tool for custom conversion, data aggregation, etc.
  • reduce Always provide the initial value to obtain better predictability.
  • Method combination
  • By combining ,
  • , and
methods, the data processing efficiency can be optimized, especially when dealing with large data sets, avoid multiple iterations to improve performance.

Conclusion

JavaScript's map, filter, reduce, and

methods are critical for efficient and elegant data operations. Understanding their mechanisms and applications can help developers write more concise and easy -to -maintain code. Practice more and be proficient in these methods!

The above is the detailed content of JavaScript Array Methods: Sort, Map, Filter, and Reduce. For more information, please follow other related articles on the PHP Chinese website!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do I create and publish my own JavaScript libraries? How do I create and publish my own JavaScript libraries? Mar 18, 2025 pm 03:12 PM

Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

How do I optimize JavaScript code for performance in the browser? How do I optimize JavaScript code for performance in the browser? Mar 18, 2025 pm 03:14 PM

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

What should I do if I encounter garbled code printing for front-end thermal paper receipts? What should I do if I encounter garbled code printing for front-end thermal paper receipts? Apr 04, 2025 pm 02:42 PM

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

How do I debug JavaScript code effectively using browser developer tools? How do I debug JavaScript code effectively using browser developer tools? Mar 18, 2025 pm 03:16 PM

The article discusses effective JavaScript debugging using browser developer tools, focusing on setting breakpoints, using the console, and analyzing performance.

Who gets paid more Python or JavaScript? Who gets paid more Python or JavaScript? Apr 04, 2025 am 12:09 AM

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

How do I use source maps to debug minified JavaScript code? How do I use source maps to debug minified JavaScript code? Mar 18, 2025 pm 03:17 PM

The article explains how to use source maps to debug minified JavaScript by mapping it back to the original code. It discusses enabling source maps, setting breakpoints, and using tools like Chrome DevTools and Webpack.

How to merge array elements with the same ID into one object using JavaScript? How to merge array elements with the same ID into one object using JavaScript? Apr 04, 2025 pm 05:09 PM

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

The difference in console.log output result: Why are the two calls different? The difference in console.log output result: Why are the two calls different? Apr 04, 2025 pm 05:12 PM

In-depth discussion of the root causes of the difference in console.log output. This article will analyze the differences in the output results of console.log function in a piece of code and explain the reasons behind it. �...

See all articles