Socket
Socket
Sign inDemoInstall

compare-func

Package Overview
Dependencies
3
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    compare-func

Get a compare function for array to sort


Version published
Weekly downloads
4.6M
decreased by-8.55%
Maintainers
1
Install size
22.5 kB
Created
Weekly downloads
 

Package description

What is compare-func?

The compare-func npm package provides a simple way to create comparator functions for sorting arrays in JavaScript. It is particularly useful when you need to sort objects based on one or more of their properties. The package allows for easy creation of comparators using property names, custom getter functions, or multiple criteria.

What are compare-func's main functionalities?

Sorting by property name

This feature allows sorting an array of objects based on a specific property. In the provided code, an array of users is sorted by the 'age' property.

const compare = require('compare-func');
let users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 20 },
  { name: 'Carol', age: 30 }
];
users.sort(compare('age'));
console.log(users);

Sorting by multiple criteria

This feature enables sorting based on multiple properties. The array of users is first sorted by 'name' and then by 'age' if the names are the same.

const compare = require('compare-func');
let users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 20 },
  { name: 'Carol', age: 30 }
];
users.sort(compare(['name', 'age']));
console.log(users);

Sorting using a custom getter function

This feature allows for sorting using a custom function that defines the sorting criteria. Here, users are sorted based on the length of their names.

const compare = require('compare-func');
let users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 20 },
  { name: 'Carol', age: 30 }
];
users.sort(compare(u => u.name.length));
console.log(users);

Other packages similar to compare-func

Readme

Source

NPM version Build Status Dependency Status Coverage Status

Get a compare function for array to sort

Install

$ npm install --save compare-func

Usage

var compareFunc = require('compare-func');

// sort by an object property
[{x: 'b'}, {x: 'a'}, {x: 'c'}].sort(compareFunc('x'));
//=> [{x: 'a'}, {x: 'b'}, {x: 'c'}]

// sort by a nested object property
[{x: {y: 'b'}}, {x: {y: 'a'}}].sort(compareFunc('x.y'));
//=> [{x: {y: 'a'}}, {x: {y: 'b'}}]

// sort by the `x` propery, then `y`
[{x: 'c', y: 'c'}, {x: 'b', y: 'a'}, {x: 'b', y: 'b'}].sort(compareFunc(['x', 'y']));
//=> [{x: 'b', y: 'a'}, {x: 'b', y: 'b'}, {x: 'c', y: 'c'}]

// sort by the returned value
[{x: 'b'}, {x: 'a'}, {x: 'c'}].sort(compareFunc(function(el) {
  return el.x;
}));
//=> [{x: 'a'}, {x: 'b'}, {x: 'c'}]

API

compareFunc([property])

Returns a compare function for array to sort

property

Type: string, function or array of either

If missing it sorts on itself.

The string can be a dot path to a nested object property.

  • sort-on - Sort an array on an object property

License

MIT © Steve Mao

Keywords

FAQs

Last updated on 15 May 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc