Data manipulation and processing in JavaScript
JavaScript HTML CSS
Switch branches/tags
Nothing to show
Clone or download
vlandham Merge pull request #41 from dakoop/master
Add a link to an Observable version of the guide
Latest commit 1afdaf5 Jun 21, 2018

Learn JS Data

Data manipulation, data cleaning, and data processing in JavaScript.


This guide teaches the basics of manipulating data using JavaScript in the browser, or in node.js. Specifically, these tasks are geared around preparing data for further analysis and visualization.

This guide will demonstrate some basic techniques and how to implement them using core JavaScript API, the d3.js library and lodash.

It assumes you already have some basic knowledge of JavaScript.


Thanks to everyone who has worked on this to make it awesome:

Want to add your own tips and tricks that you use to apply the power of JS to data processing?

Fork this project, modify and send me your pull requests!

(Or you could probably just yell at me on Twitter - and I can include your suggestions into the guide)


If you want to hack on this - or just download and run locally, here is how you would do that.


  • node
  • npm
  • grunt (to rebuild)

First clone the repo:

git clone

Then run npm install to gather development dependencies:

cd js_data
npm install

You can now use grunt to do the following:

  • Run grunt to start a watch task that will recompile things as needed, and kick off a local server on port 8081.
  • Run grunt build just to build the public/ directory containing all the output.

Previous Work

This takes inspiration from a number of similar projects around data manipulation geared towards users of other languages. Here are just some other resources to checkout:

The presentation format of this repo borrows heavily from Tom MacWright's Literate Raytracer repo.


This code and accompanying text is released under CC0, or Public Domain where applicable.