![](/img/trans.png)
[英]How can I efficiently insert a Float32Array into a Float32Array?
[英]How to flatten a Float32Array in JS?
我有一個充滿Float32Array
的數組,如下所示:
var arr = [ new Float32Array([0.3, 0.7, 0.1]), new Float32Array([0.2, 0.544, 0.21]), ]; console.log(arr.flat(Infinity));
我如何將它們壓平成這樣?:
[0.3, 0.7, 0.1, 0.2, 0.544, 0.21]
我試過使用Array.flat(Infinity)
但這仍然使Float32Arrays
完好無損。
例如
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);
可以做 -
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])));
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.