Tengo una matriz llena de Float32Array s como esta:
var arr = [ new Float32Array([0.3, 0.7, 0.1]), new Float32Array([0.2, 0.544, 0.21]), ]; console.log(arr.flat(Infinity));¿Cómo los aplano para que queden así?:
[0.3, 0.7, 0.1, 0.2, 0.544, 0.21] He intentado usar Array.flat(Infinity) pero esto aún deja intactos los Float32Arrays .
Por ejemplo
let arr = [ new Float32Array([0.3, 0.7, 0.1]), new Float32Array([0.2, 0.544, 0.21]), ]; arr = arr.map(a => [...a]).flat(); console.log(arr); const arr = [ new Float32Array([0.3, 0.7, 0.1]), new Float32Array([0.2, 0.544, 0.21])]; const arr3 = arr.map(float32Array => Array.from(float32Array)); console.log(arr3.flat()); /* ^output [ 0.30000001192092896, 0.699999988079071, 0.10000000149011612, 0.20000000298023224, 0.5440000295639038, 0.20999999344348907 ] */ //rounded to three decimal points const arr2 = arr.map(float32Array => Array.from(float32Array).map(float32 => Math.round(float32 * 1000) / 1000)); console.log(arr2.flat()); //--> [0.3, 0.7, 0.1, 0.2, 0.544, 0.21]Podría hacer -
var arr = [ new Float32Array([0.3, 0.7, 0.1]), new Float32Array([0.2, 0.544,0.21]), ]; console.log(Array.from(arr[0]).concat(Array.from(arr[1])));