GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Home
  • Contact Us
  • About Us
  • PHP
  • HTML
  • JavaScript
  • Git
  • Node.js
  • React.js
  • SQL Server
  • Real Dev Tips to Build Apps and Fix Issues

This view

  • Original page
  • New address

GeezerVison is showing flatcoding.com — JavaScript toSorted Function Guide with Examples - FlatCoding

Home JavaScript toSorted Function Guide with Examples
Montasser Mossallem
onSeptember 30, 2025

JavaScript toSorted Function Guide with Examples

  • JavaScript
javascript tosorted function
2 min read

Table of Content

  • Understand the toSorted Function in JavaScript
  • The Difference Between sort() and toSorted()
  • Examples of the toString Function in JavaScript
  • Wrapping Up
  • FAQs

This guide shows how toSorted function works in JavaScript with arrays. It covers syntax, rules, and examples for numbers, text, and objects within ES2023 support.

Understand the toSorted Function in JavaScript

The toSorted creates a new array with sorted values. It leaves the original array unchanged.

The syntax looks like this:

array.toSorted(compareFunction)

The compareFunction is optional. It defines how to compare two values. toSorted returns a new array that has the sorted values.

The toSorted makes a new array. It sorts values based on the compare function or the default order. It does not change the original array.

Here is an example:

const numbers = [3, 1, 2];
const sortedNumbers = numbers.toSorted();
console.log(sortedNumbers);

This returns a new array [1, 2, 3]. The original array [3, 1, 2] stays the same.

Here is another example:

const words = ["pear", "apple", "banana"];
const sortedWords = words.toSorted();
console.log(sortedWords);

This returns a new array ["apple", "banana", "pear"]. The original array stays in its old order.

You can also sort arrays of objects with toSorted. For example:

const users = [{name: "Zara"}, {name: "Ali"}, {name: "John"}];
const sortedUsers = users.toSorted((a, b) => a.name.localeCompare(b.name));
console.log(sortedUsers);

This returns a new array sorted by name [{name:"Ali"}, {name:"John"}, {name:"Zara"}]. The original array stays in its old order.

The toSorted is part of ES2023. Modern browsers like Chrome, Edge, and Firefox include support. Older browsers may need a polyfill before use.

The Difference Between sort() and toSorted()

The sort() sorts the array in place and changes its original order. toSorted() makes a new sorted array and leaves the original unchanged.

MethodChanges Original ArrayReturns New Array
sort()YesNo
toSorted()NoYes

Use sort() when you want to change the array itself and the toSorted() when you want a new array without changes to the original.

Examples of the toString Function in JavaScript

Sort Numbers in Ascending Order:

const nums = [10, 5, 8, 1];
const sorted = nums.toSorted((a, b) => a - b);
console.log(sorted);

This shows how to sort numbers in ascending order while the original array stays the same. It returns a new array with ordered numbers.

Sort Strings by Length:

const items = ["banana", "kiwi", "apple"];
const sorted = items.toSorted((a, b) => a.length - b.length);
console.log(sorted);

This shows how to sort text by length. It returns a new array with text in order by length. The original array stays the same.

Sort Objects by Age:

const people = [{age:30},{age:20},{age:40}];
const sorted = people.toSorted((a, b) => a.age - b.age);
console.log(sorted);

This shows how to sort objects by a property. It creates a new array in order of age and does not change the original array.

Sort with Custom Compare Function:

const letters = ["b", "C", "a"];
const sorted = letters.toSorted((a, b) => a.localeCompare(b, undefined, {sensitivity: 'base'}));
console.log(sorted);

This shows how to sort values with a custom compare rule. It gives a new array with values sorted without case issues and leaves the old array untouched.

Wrapping Up

You learned how toSorted creates a new array and leaves the original untouched.

Here is a quick recap:

  • sort() changes the array itself.
  • toSorted() makes a new sorted array.
  • Use each one based on whether you want to change the original array or not.

FAQs

What is JavaScript toSorted function used for?

The JavaScript toSorted function creates a new sorted array without changing the original. It is part of the ES2023 standard.


const numbers = [3, 1, 4, 2];
const sorted = numbers.toSorted();
console.log(sorted); // [1, 2, 3, 4]
console.log(numbers); // [3, 1, 4, 2]
  • sort() mutates the array
  • toSorted() returns a new array

What is the difference between sort and toSorted in JavaScript?

The difference is that sort() changes the original array while toSorted() creates a new one. This makes toSorted safer in most use cases.


const fruits = ["banana", "apple", "mango"];
const s1 = fruits.sort();
console.log(fruits); // ["apple", "banana", "mango"]

const fruits2 = ["banana", "apple", "mango"];
const s2 = fruits2.toSorted();
console.log(fruits2); // ["banana", "apple", "mango"]
console.log(s2);      // ["apple", "banana", "mango"]

How do you use toSorted function with objects in JavaScript?

You can pass a compare function inside toSorted() to sort objects by a property. This does not affect the original array of objects.


const users = [
  {name: "Alice", age: 25},
  {name: "Bob", age: 20},
  {name: "Charlie", age: 30}
];

const sortedUsers = users.toSorted((a, b) => a.age - b.age);
console.log(sortedUsers);
/*
[
  {name: "Bob", age: 20},
  {name: "Alice", age: 25},
  {name: "Charlie", age: 30}
]
*/

Is JavaScript toSorted function supported in all browsers?

The toSorted function is part of ES2023 and modern browsers support it. Older browsers may not support it without a polyfill.

  • ✅ Chrome 110+
  • ✅ Edge 110+
  • ✅ Safari 16.4+
  • ✅ Firefox 115+
  • ❌ Older browsers need polyfills

Similar Reads

JavaScript math.exp: How to Calculate e^x

Math.exp is a built-in JavaScript function that returns the value of e raised to a given number. Here, e is…

JavaScript Math atan: Arc Tangent of a Number in Radians

Math.atan() function in JavaScript helps you to solve math problems in your code. It turns a number into an angle.…

JavaScript Polyfilling & Transpiling Guide for Beginners

JavaScript moves fast, and new features come. Some browsers do not support these features and cause issues for users. Developers…

JavaScript Hello World: Write a Simple Program in 3 Ways

If you are ready to take your first steps into the realm of web development, then there cannot be a…

Math.cbrt in JavaScript: How to Finds Cube Roots

JavaScript added Math.cbrt to solve cube roots. Before that, developers used custom code or Math.pow with 1/3. It works with…

JavaScript: How to Add JS to HTML

The development of full-featured and interesting pages cannot be done without JavaScript which makes it possible to animate plain HTML…

JavaScript Symbol Type: How it Works with Examples

JavaScript Symbol Type gives a way to make unique values. A Symbol never matches any other value and this helps…

How Does JavaScript Work to Run Code in the Web Browser

Click a button on a website. Something changes. A menu opens or a message pops up. That’s how JavaScript works.…

JavaScript Optional Chaining “?”: How it Works with Examples

JavaScript optional chaining lets you access object values without runtime errors. It checks if a property exists before access and…

Bitwise Operators in JavaScript

Bitwise operators work with binary data at the bit level in JavaScript. They process numbers in binary form and return…

  • JavaScript
Montasser Mossallem
onSeptember 30, 2025
  • JavaScript
Share
Previous Article

Props in React explained with examples

Next Article

Git commit Command: How it Works with Examples

Write a Comment

Leave a Comment Cancel

Your email address will not be published. Required fields are marked *


Recent Posts

  • PHP array_key_exists: How it Works with Examples
  • Git add Command with Step by Step with Example
  • JavaScript valueOf Function: How it Works with Examples
  • Node JS Buffers Tutorial for Beginners and Pros
  • Component-driven HTML Guide with Examples

Recent Comments

No comments to show.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.