def
func:map
map(val, fn)
Map list, dict, or grid by applying the given mapping function.
If mapping a list, the mapping should be a function that takes (val) or (val, index). It should return the new value for that index.
If mapping a dict, the mapping should be a function that takes (val) or (val, name). It should return the new value for that name.
If mapping a grid, the mapping function takes (row) or (row,index) and returns a new dictionary to use for the row. The resulting grid shares the original's grid level meta. Columns left intact share the old meta-data, new columns have no meta-data. If the mapping function returns null, then that row is removed from the resulting grid (not mapped).
If mapping a range, then the mapping function takes (integer), and returns a list for each mapped integer inte the range.
If mapping a stream, the mapping functions takes (val). See Streams.
Examples:
// create list adding ten to each number
[1, 2, 3].map(v => v+10) >> [11, 12, 13]
// create new list that turns strings into uppercase
["ape", "bee", "cat"].map(upper) // ["APE, "BEE", "CAT"]
// create dict adding ten to each value
{a:1, b:2, c:3}.map(v => v+10) >> {a:11, b:12, c:13}
// create grid with just dis, area column
readAll(site).map(s => {dis:s->dis, area:s->area})