簡體   English   中英

使用 Array.from 將對象轉換為 Array

[英]Casting an object to an Array using Array.from

我正在嘗試從 WebSocket 的字符串化數據創建一個ArrayBuffer

字符串化的數據是一個Float32Array

這是我的嘗試:

var parsed = JSON.parse(streamData);
var arrayed = Array.from(parsed);
var arr32 = Float32Array.from(arrayed);
var kbuff = new ArrayBuffer(arr32);

parsed的變量如下所示:

在此處輸入圖片說明

但隨后我的Array.from導致一個空數組:

在此處輸入圖片說明

我在這里缺少什么? 並且 - 這是創建我的ArrayBuffer的正確方法嗎?

Array.from()要求對象具有長度屬性。 使用Object.values()代替:

 const parsed = { 0: 'a', 1: 'b', 2: 'c', } const arrayed1 = Array.from(parsed); const arrayed2 = Object.values(parsed); console.log({ arrayed1 }); console.log({ arrayed2 });

對於 Array.from 需要具有屬性長度的可迭代參數。 嘗試使用 Object.values(parsed) 從解析的值中獲取數組,然后使用 Float32Array,似乎可以幫助您。 或者你可以從 pais [key, value] 使用 Objest.entries(parsed) 獲取數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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