2.0.0 • Published 5 years ago

compare-func v2.0.0

Weekly downloads
2,669,198
License
MIT
Repository
github
Last release
5 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_samplegriffin-ui-librarytailwind-vector-effecttest-diff-newtest-library-123test-haptik-libwinx-form-winxwd-web-changelogwifi_configuration_packagewii-changelogsportscale-wifi-connecttest-zeo-collectvision-camera-plugin-face-detectorvision-camera-plugin-scan-facesvision-camera-base64-resizedvcloudcam-playkit-js-hlsvantiq-reactvue-dev-clone@dotconf-pro/dotconf-pro@dotconf-pro/dotenv@cobnl/conventional-changelog@cs6/react-native-test-native-view-library@con-test/react-native-concent-common@damruravihara/react-native-testing-package@colisweb/conventional-changelog-colisweb@corelmax/react-native-my2c2p-sdk@dendronhq/conventional-changelog-dendron@praella/localisationist@pradeepgudipati/kovaad-chat-ui-kit-styles@pragmatics/conventional-changelog-preset@positionex/position-sdkconventional-changelog-conventionalcommits-testjrennsoh88-react-native-scroll-indicatorjesh-calculationjnf-accesscontrol-rnttljordy-frijters-test-libjamuskalimkhaled-salem-custom-componentslazy-bee-uigomantic_releasejawwy_library_newjawy_library_v1gamification-jawwy-libraryframework_test_library_sixdee_new_jawwytest_lib_module_aarquickcapture_react_nativesushi-sdk-ftmrn-agora-ios-mzzzxxxyyy321123web-yii2react-native-omental-frameworkreact-native-sixdee_test_libspigot-ui-inventorytwine-libtwine-library@amiruldev/wajs@amirdiafi/react-native-ios-haptics@anteriovieira/conventional-changelog@aparajita/swiftly@apardellass/react-native-audio-stream@angangii/frontendpractice@aviinash_jha/react-native-test_multiply
1.3.4

5 years ago

1.3.3

5 years ago

2.0.0

5 years ago

1.3.2

9 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.0.0

10 years ago