Sort an array of items by given key

This function sorts an array of objects based on a given key.

JavaScript:

let sortByKey = (arr, key) => arr.sort((a, b) => a[key] > b[key] ? 1 : -1);

// Example
console.log(sortByKey([{name: 'John', age: 23}, {name: 'Jane', age: 21}, {name: 'Oliver', age: 25}], 'age')); // [{name: 'Jane', age: 21}, {name: 'John', age: 23}, {name: 'Oliver', age: 25}]
console.log(sortByKey([{name: 'John', age: 23}, {name: 'Jane', age: 21}, {name: 'Oliver', age: 25}], 'name')); // [{name: 'Jane', age: 21}, {name: 'John', age: 23}, {name: 'Oliver', age: 25}]

TypeScript:

let sortByKey = (arr: T[], key: keyof T): T[] => arr.sort((a, b) => a[key] > b[key] ? 1 : -1);

// Example
console.log(sortByKey([{name: 'John', age: 23}, {name: 'Jane', age: 21}, {name: 'Oliver', age: 25}], 'age')); // [{name: 'Jane', age: 21}, {name: 'John', age: 23}, {name: 'Oliver', age: 25}]
console.log(sortByKey([{name: 'John', age: 23}, {name: 'Jane', age: 21}, {name: 'Oliver', age: 25}], 'name')); // [{name: 'Jane', age: 21}, {name: 'John', age: 23}, {name: 'Oliver', age: 25}]
Member since January 2, 2019

As a seasoned WordPress developer with expertise in various tech stacks and languages, I bring years of experience to every project I handle. My passion for coding and dedication to delivering exceptional work ensures that each project I take on is of the highest quality. I specialize in creating custom themes, developing plugins, and building full-scale web systems. By staying up-to-date with the latest industry trends and best practices, I incorporate cutting-edge solutions into my work.

Comments

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