array-pack-2d
Version:
Quickly pack a nested 2D array into a typed array – useful for flattening point data into a WebGL-friendly format
27 lines (19 loc) • 425 B
JavaScript
var dtype = require('dtype')
module.exports = pack
function pack(arr, type) {
type = type || 'float32'
if (!arr[0] || !arr[0].length) {
return arr
}
var Arr = typeof type === 'string'
? dtype(type)
: type
var dim = arr[0].length
var out = new Arr(arr.length * dim)
var k = 0
for (var i = 0; i < arr.length; i++)
for (var j = 0; j < dim; j++) {
out[k++] = arr[i][j]
}
return out
}