1.0.4 • Published 4 years ago
dcollect v1.0.4
dcollect
Demo object
let o = [{
make: "audi",
model: "r8",
year: "2012"
},
{
make: "audi",
model: "rs5",
year: "2013"
},
{
make: "ford",
model: "mustang",
year: "2012"
},
{
make: "ford",
model: "fusion",
year: "2015"
},
{
make: "kia",
model: "optima",
year: "2012"
}];
wherewhere(field, condition, target)
let collect = new dcollect(o);
let filter = collect.query().where("year", "=", "2012").get();
console.log(filter);
/* out
data: [
{ make: 'audi', model: 'r8', year: '2012' },
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'kia', model: 'optima', year: '2012' }
]
*/
whereLikewhereLike(field, target, i = false)
let collect = new dcollect(o);
let filter = collect.query().whereLike("make", "ford").get();
console.log(filter);
/* out
[
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'ford', model: 'fusion', year: '2015' }
]
*/
let collect = new dcollect(o);
let filter = collect.query().whereLike("make", "Ford").get();
console.log(filter);
/* out
[]
*/
let collect = new dcollect(o);
let filter = collect.query().whereLike("make", "Ford", true).get();
console.log(filter);
/* out
[
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'ford', model: 'fusion', year: '2015' }
]
*/
whereInwhereIn(field, data)
let collect = new dcollect(o);
let filter = collect.query().whereIn("make", ["ford", "kia"]).get();
console.log(filter);
/* out
[
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'ford', model: 'fusion', year: '2015' },
{ make: 'kia', model: 'optima', year: '2012' }
]
*/
whereNotInwhereIn(field, data)
let collect = new dcollect(o);
let filter = collect.query().whereNotIn("make", ["ford", "kia"]).get();
console.log(filter);
/* out
[
{ make: 'audi', model: 'r8', year: '2012' },
{ make: 'audi', model: 'rs5', year: '2013' }
]
*/
rawFilterrawFilter(callback)
let collect = new dcollect(o);
let filter = collect.query().rawFilter(function(item) {
return item.model === "mustang";
}).get();
console.log(filter);
/* out
[ { make: 'ford', model: 'mustang', year: '2012' } ]
*/
orderByorderBy(field, sortType)
sortType : asc||desc
let collect = new dcollect(o);
let filter = collect.query().orderBy("year", "asc").get();
console.log(filter);
/* out
[
{ make: 'audi', model: 'r8', year: '2012' },
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'kia', model: 'optima', year: '2012' },
{ make: 'audi', model: 'rs5', year: '2013' },
{ make: 'ford', model: 'fusion', year: '2015' }
]
*/
let collect = new dcollect(o);
let filter = collect.query().orderBy("year", "desc").get();
console.log(filter);
/* out
[
{ make: 'ford', model: 'fusion', year: '2015' },
{ make: 'audi', model: 'rs5', year: '2013' },
{ make: 'audi', model: 'r8', year: '2012' },
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'kia', model: 'optima', year: '2012' }
]
*/
groupBy
`groupBy(field)
let collect = new dcollect(o);
let filter = collect.query().groupBy("make").get();
console.log(filter);
/* out
[
audi: [
{ make: 'audi', model: 'r8', year: '2012' },
{ make: 'audi', model: 'rs5', year: '2013' }
],
ford: [
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'ford', model: 'fusion', year: '2015' }
],
kia: [ { make: 'kia', model: 'optima', year: '2012' } ]
]
*/
count
let collect = new dcollect(o);
let filter = collect.query().count();
console.log(filter);
/* out: 5 */
sumsum(field)
let collect = new dcollect(o);
let filter = collect.query().sum("year");
console.log(filter);
/* out: 10064 */
example
chain use
let collect = new dcollect(o);
let filter = collect.query()
.where("year", "=", "2012")
.whereLike("make", "audi")
.get();
console.log(filter);
/* out:
[ { make: 'audi', model: 'r8', year: '2012' } ]
*/
let collect = new dcollect(o);
let filter = collect.query()
.where("year", "=", "2012")
.orderBy("make", "asc")
.get();
console.log(filter);
/* out:
[
{ make: 'audi', model: 'r8', year: '2012' },
{ make: 'ford', model: 'mustang', year: '2012' },
{ make: 'kia', model: 'optima', year: '2012' }
]
*/