count-objects
Counts objects for each value
demo
Earthquakes API
install
npm install count-objects
usage
constructor
const { CountObjects } = require("count-objects");
const objects = [
{
fruit: {
olive: "Arbequina",
apple: "Lady Alice",
orange: "Valencia",
},
},
{
fruit: {
olive: "Kalamata",
apple: "Lady Alice",
},
},
];
const co = new CountObjects(objects);
count
const countObject = co.count();
console.log((countObject);
table
const countTable = co.table();
console.table(countTable);
add
co.add([
{
fruit: {
orange: "Valencia",
apple: "Lady Alice",
},
},
]);
console.table(co.table());
addFilter
const valenciaFilter = ["fruit", "orange", "Valencia"];
co.addFilter(valenciaFilter);
console.table(co.table());
co.addFilter(["fruit", "olive", "Arbequina"]);
console.table(co.table());
getFilters
console.log(co.getFilters());
clearFilters
co.clearFilters();
console.log(co.getFilters());
removeFilter
co.addFilter(["a", 1]);
co.addFilter(["b", 2]);
co.addFilter(["c", 3]);
console.log(co.getFilters());
co.removeFilter(["b", 2]);
console.log(co.getFilters());
filtersCount
const objects = [
{ a: 1, b: 2 },
{ a: 1, b: 2, c: 3 },
{ a: 1, b: 2, c: 3, d: 4 },
{ a: 1, b: 2, c: 3, d: 4, e: 5 },
{ a: 1 },
];
const co = new CountObjects(objects);
co.addFilter(["a", "1"]);
co.addFilter(["b", "2"]);
co.addFilter(["c", "3"]);
co.addFilter(["d", "4"]);
co.addFilter(["e", "5"]);
console.log(co.filtersCount());
co.clearFilters();
co.addFilter(["b", "2"]);
co.addFilter(["d", "4"]);
co.addFilter(["c", "3"]);
co.addFilter(["e", "5"]);
co.addFilter(["a", "1"]);
console.log(co.filtersCount());
count unique values
const flowers = [
{
flowers: {
color: "black",
type: "Tulip",
height: 12,
},
},
{
flowers: {
color: "black",
type: "Tulip",
height: 10,
},
},
{
flowers: {
color: "white",
type: "Tulip",
height: 10,
},
},
{
flowers: {
type: "Tulip",
height: 13,
},
},
];
const countUniqueValues = new CountObjects(flowers, {
uniqueKeys: [
["flowers", "color"],
["flowers", "height"],
],
});
console.table(countUniqueValues.table());
clone
const clone = co.clone();
console.log(clone === co);