@jshunters/jutil

1.0.2 • Public • Published

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

Package Sidebar

Install

npm i @jshunters/jutil

Weekly Downloads

94

Version

1.0.2

License

MIT

Unpacked Size

14.9 kB

Total Files

9

Last publish

Collaborators

  • shanmuganathanvel
  • anjalikhandelwal