gpt4 book ai didi

javascript - 在 Javascript 中将对象转换为缓冲区

转载 作者:行者123 更新时间:2023-12-03 03:58:45 25 4
gpt4 key购买 nike

我没有使用节点,只是在浏览器中使用普通的 Javascript

我需要有效地将数据发送给网络 worker 。我已经设法弄清楚如何从数组创建缓冲区:

// assume it contains integers
var numbers = new Int8Array(10);

// works
const data = {buffer: numbers.buffer};
worker.postMessage(data, [data.buffer]);

但是假设我有一个如下所示的对象:

var myObject = {'in': [0.123,-0,521], 'out' : [1.409]};

我如何将其转换为缓冲区?我发现了许多类似的问题,但他们似乎使用Node,而我没有使用。

最佳答案

您可以像这样创建一个类型化数组:

[obj1.in1,obj1.in2,obj1.out,obj2.in1,...]

只有一个对象:

var arr=Int8Array.from(myObject.in.concat(myObject.out));

使用对象数组:

var ObjArr=[obj1,obj2];
var arr=new Int8Array(ObjArr.length*3);

for(var i=0;i<ObjArr.length;i++){
var obj=ObjArr[i];
arr.set(obj.in.concat(obj.out),i*3);
}

要迭代,您可以使用简单的 for 循环:

for(var i=0;i<arr.length-2;i+=3){
var in1=arr[i],in2=arr[i+1],out=arr[i+2];
...
}

关于javascript - 在 Javascript 中将对象转换为缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44824553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com