Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@jshunters/jutil

jshunters194MIT1.0.2

Javascript helper functions for json object grouping and sorting

javascript utilities, js utility, groupobject, group-object, group, grouping, groupby, group json, group by key, groupby multiple, groupBy json key, object-grouping, array of object grouping, group array of objects, groupby multiple keys, group by multiple properties, sort, sorting, sort object, sort by key, sort array of object, sort by multiple keys, sorting json objects, sort by multiple keys, sort by multiple properties

readme

group-object

Javascript helper functions for json object grouping and sorting for multiple properties

npm NPM GitHub issues Snyk Vulnerabilities for npm package

Installation

Install with npm

npm install @jshunters/jutil

Usage

Include the module

Options available

for grouping

//we can pass either a single property
jutil.group(arrObj,'price');

//we can pass either  multiple properties as array
jutil.group(arrObj,['price','city']);

for sorting

// we can pass single property 
jutil.objSort(arrObj,'city');

// we can pass array of properties 
jutil.objSort(arrObj,['city','state','price']);

// we can pass s properties with order as object
jutil.objSort(arrObj,{'city':1,'state':1,'price':-1});

for others

// to find the size of Object
jutil.size(arrObj);

// to get chunk of array
jutil.chunk(arrObj,3);
var jutil = require('@jshunters/jutil');
// group an object for multiple properties

let arrObj = [{
    "h_id": "3",
    "city": "Dallas",
    "state": "TX",
    "zip": "75201",
    "price": "162500"
},
{
    "h_id": "4",
    "city": "Bevery Hills",
    "state": "CA",
    "zip": "90210",
    "price": "319250"
},
{
    "h_id": "6",
    "city": "Dallas",
    "state": "TX",
    "zip": "75000",
    "price": "556699"
},
{
    "h_id": "5",
    "city": "New York",
    "state": "NY",
    "zip": "00010",
    "price": "962500"
}
];

var groupedData = jutil.group(arrObj,['price','city']);
console.log(groupedData); 

var groupedData = jutil.group(arrObj,'city');
console.log(groupedData);

// asynchronous functions for grouping
jutil.groupObject(arrObj,['price','city']).then((groupedData)=>{
    console.log(groupedData)
}).catch(err=>{
    console.log(err);
});

jutil.groupObject(arrObj,'city').then((groupedData)=>{
    console.log(groupedData)
}).catch(err=>{
    console.log(err);
});

// sort a json object for multiple properties
let sortedData = jutil.objSort(arrObj,['city','state','price']);
console.log(sortedData); 

// sort for multiple keys with defined order where 1/-1 is for ascending/descending orders
let sortedData = jutil.objSort(arrObj,{'city':1,'state':1,'price':-1});
console.log(sortedData); 

// sort for single property
var sortedData = jutil.objSort(arrObj,'city');
console.log(sortedData); 

// get chunk of array
var chunk_array = jutil.chunk(arrObj,3);
console.log(chunk_array); 

Notes

Javascript helper functions for json object grouping and sorting for multiple properties

License

MIT

changelog

Changelog

All notable changes to this project will be documented in this file.

[1.0.2] - 2022-06-28

updated

  • fixed sort function's bug
  • Added chunk function

[1.0.1] - 2020-05-25

updated

  • Updated readme file for asnc function for grouping

[1.0.0] - 2020-05-22

Added

  • Added sort, group and size features