Question

I am looking for a JavaScript library that manipulates arrays of objects, mainly for filtering, sorting and grouping/counts.

It seems that underscore.js fits the bill, but I'd be interested to explore other options. Underscore has 60+ functions while I just need a handful.

For example, I would expect some datatable libraries to include such features, but I don't know where to look.

Was it helpful?

Solution

It's called JavaScript arr.filter , arr.sort , arr.length.

You can apply any array method on an array, popular ones are filter, map and reduce, You can build more complex operations by combining those.

If you want to iterate over objects use

Object.keys(o).forEach(function (key) {
  var val = o[key];
  ...
});

underscore is useful if you live in an ES3 world, but ES5 has everything you need, all underscore does is add bloat on top of it.

OTHER TIPS

I know this is old but did you look at lodash? From the site:

A drop-in replacement* for Underscore.js. [...]

Custom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need. To top it off, we handle all method dependency and alias mapping for you.

Take a look at lazy.js (http://dtao.github.io/lazy.js/) similar to underscore.js but with significant performance improvment due to lazy evaluation

You may want to look into the following two libraries:

lowscore is intended to be a very lightweight underscore:

  • you can require only the functions you need
  • can reduce JS size by roughly 15k minified, or about 50k non-minified.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top