Creating a Custom Sorting Function
In this approach, we will create a custom sorting function that utilizes the provided indexes to rearrange the elements.
Syntax:
function reorderArrayByIndexes(originalArray, indexesArray) {
return originalArray.slice().sort((a, b) => {
// code implemantation...
});
}
Example: In this example, the reorderArrayByIndexes function sorts originalArray using indexesArray. It maps elements based on their indexes, producing the reordered array.
function reorderArrayByIndexes(originalArray, indexesArray) {
return originalArray.slice().sort((a, b) => {
const indexA =
indexesArray.indexOf(originalArray.indexOf(a));
const indexB =
indexesArray.indexOf(originalArray.indexOf(b));
return indexA - indexB;
});
}
const originalArray =
['HTML', 'CSS', 'Javascript', 'Node.js'];
const indexesArray = [3, 1, 2, 0];
const reorderedArray =
reorderArrayByIndexes(originalArray, indexesArray);
console.log(reorderedArray);
Output
[ 'Node.js', 'CSS', 'Javascript', 'HTML' ]
JavaScript Program to Reorder an Array According to Given Indexes
Reordering an array according to given indexes means rearranging the elements of an array based on a separate array that specifies the desired order. Each element in the given index array corresponds to the index of the element in the original array at which it should be placed in the reordered array. This operation is useful when you need to sort or arrange elements in a specific custom order, different from the natural order of the elements.
There are several methods that can be used to Reorder an array according to given indexes in JavaScript, which are listed below:
Table of Content
- Using the map method
- Creating a Custom Sorting Function
- Swapping Elements in Place
We will explore all the above methods along with their basic implementation with the help of examples.