簡體   English   中英

如何在 JS 中展平 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM