2.0.0 • Published 4 years ago

compare-func v2.0.0

Weekly downloads
2,669,198
License
MIT
Repository
github
Last release
4 years ago

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.

Related

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

License

MIT © Steve Mao

conventional-changelog-angularconventional-changelog-conventionalcommitsarchetype-libraryeasy-select-rnreact-native-bluetooth2killi8n-react-native-fast-image@marcotan/conventional-changelogairscanairscan-examplereact-native-esc-pos-sahaab@borisovart/atol-kkt-module@frxf/frxfdeneme323112@stackr23/conventional-changelog-preset@ntt_app/react-native-custom-notification@stackr23/conventional-changelog-configreact-native-covid-sdk@jttechnic/interpreterjimi-web-changelogreact-native-printer-brothersreact-native-shekhar-bridge-testcogoportutils@regionhalland/conventional-changelog-regionhalland@oiti/documentoscopy-react-native@mink-opn/build-tokensquoc-test@infinitebrahmanuniverse/nolb-compaluminos-ui-core@everything-registry/sub-chunk-1364jawwy-sdkjawwy_gamification_releaseconventional-changelog-kiltchconventional-changelog-lucianreact-native-sphereuisphereuijawwy_libraryreact-native-credit-card-pkg@rabailriaz/hisaab-web-portalreact-native-jawwy_sampleyangtao-jsyx-conventional-changelog-blacklakevue-dev-clonevue-v3-yandex-metrikawd-web-changelogweb-yii2wifi_configuration_packagetest-haptik-libtest-zeo-collecttest-library-123twine-libtwine-library@extrieve_technologies/quickcapture_react_native@experius-galaxy/conventional-changelog-experius@enkeledi/react-native-week-month-date-picker@enirisdev/angular-google-charts@emoji-prefix-commits/changelog-preset@felipesimmi/react-native-datalogic-module@geeky-apo/react-native-advanced-clipboardvision-camera-plugin-face-detectorvision-camera-plugin-scan-facesvision-camera-base64-resizedvcloudcam-playkit-js-hls@innodata/vue-v3-ya-metrika@hawkingnetwork/react-native-tab-view@hbglobal/react-native-actions-shortcuts@hieuquang2212/form@homeserve/conventional-changelog-angulartailwind-vector-effect@eric.dahlseng/conventional-changelog-configzl-conventional-changelog-conventionalcommits@interaktiv/conventional-changelog-dia@interaktiv/conventional-changelog-dia-bitbucket@hemith/react-native-tnkproject-wajs-dvdotenv-coredogandev-simple-toastpyreswap-sdkdiscordjs-con-selfdotex-pluginraact-native-arunramya151refinejs-reporesume_fiveresume34567reactnativelyreat-native-multiplierkprrn-check-btnrn-circular-chartrn-counter-demoreact-router-route-generatorrn_unique_device_idrn-agora-ios-mrn-adyen-dropinroc-plugin-reposemantic-release-gitmoji-actions3-modulern-tm-notifyrn-session-multiplier-demosmart_one_connectspigot-ui-inventorysushi-sdk-ftm
1.3.4

4 years ago

1.3.3

4 years ago

2.0.0

4 years ago

1.3.2

8 years ago

1.3.1

9 years ago

1.3.0

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago

0.0.0

9 years ago