sort-keys-recursive

    2.1.1 • Public • Published

    sort-keys-recursive

    Last version Build Status Coverage Status Dependency status Dev Dependencies Status NPM Status Donate

    Sort the keys of an object recursively.

    Install

    npm install sort-keys-recursive --save

    Usage

    const sortKeysRecursive = require('sort-keys-recursive')
    
    const object = {
      c: 0,
      a: {
        c: ['c', 'a', 'b'],
        a: 0,
        b: 0
      },
      b: 0
    }
    
    const output = sortKeysRecursive(object)
    
    console.log(output)
    
    // {
    //   a: {
    //     a: 0,
    //     b: 0,
    //     c: ['a', 'b', 'c']
    //   },
    //   b: 0,
    //   c: 0
    // };

    API

    sortKeysRecursive(input, [options])

    input

    Required
    Type: array|object

    The collection to be sorted.

    options

    compareFunction

    Type: function

    Compare function.

    ignoreArrayAtKeys

    Type: array

    Don't sort the Array at the specified keys, if any.

    ignoreObjectAtKeys

    Type: array

    Don't sort the Object at the specified keys, if any.

    Examples

    ignoreArrayAtKeys and ignoreObjectAtKeys

    const options = {
      ignoreArrayAtKeys: [ // Don't sort the Array at the specified keys, if any.
        'b'
      ],
      ignoreObjectAtKeys: [ // Don't sort the Object at the specified keys, if any.
        'a'
      ]
    }
    
    const input = {
      a: { // This Object will not be sorted.
        a: 'a',
        b: 'b',
        c: 'c',
        d: ['a', 'c', 'b']
      },
      b: ['a', 'c', 'b'], // This Array will not be sorted.
      d: ['a', 'c', 'b']
    }
    
    const output = sort(object, options)
    
    console.log(output)
    
    // {
    //   a: {
    //     a: 'a',
    //     b: 'b',
    //     c: 'c',
    //     d: ['a', 'c', 'b']
    //   },
    //   b: ['a', 'c', 'b'],
    //   d: ['a', 'b', 'c']
    // }

    compareFunction

    You can pass a custom sort function as compareFunction. This function is passed to Javascript sort(), that sorts in alphabetical order by default. The custom function should return zero, a negative or positive value:

    var reverseAlphabeticalSort = function (a, b) {
      return a < b
    }
    
    var options = {
      compareFunction: reverseAlphabeticalSort
    }
    
    var object = {
      a: {
        a: 0,
        c: ['c', 'a', 'b'],
        b: 0
      },
      c: 0,
      b: 0
    }
    
    var output = sort(object, options)
    
    console.log(output)
    
    // {
    //   c: 0,
    //   b: 0,
    //   a: {
    //     c: ['c', 'b', 'a'],
    //     b: 0,
    //     a: 0
    //   }
    // }

    License

    MIT © Kiko Beats

    Install

    npm i sort-keys-recursive

    DownloadsWeekly Downloads

    2,739

    Version

    2.1.1

    License

    MIT

    Unpacked Size

    13.6 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar