https://github.com/atogle/costdistance.js
var cd = costDistance(),
costRaster = [
[1, 3, 4, 4, 3, 2],
[4, 6, 2, 3, 7, 6],
[5, 8, 7, 5, 5, 6],
[1, 4, 5, cd.NODATA, 5, 1],
[4, 7, 5, cd.NODATA, 2, 6],
[1, 2, 2, 1, 3, 4]
],
sourceRaster = [
[0, 1, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0]
],
cdRaster = cd.calculate(costRaster, sourceRaster);