javascript - 在 Javascript 中将字符串转换为类型化数组

标签 javascript typed-arrays

我有一个字符串应该被解析为 JSON,而不是应该被转换为 Float32Array。 字符串看起来像这样:

{"vertices":"[-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0]"}

数组应该分配给一个变量,例如:

mesh.vertices = new Float32Array([-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0]);

如何转换字符串,使数组由 float 组成? 出于安全原因,我不想使用 eval()。

最佳答案

你可以使用 JSON.parse :

mesh.vertices = new Float32Array(JSON.parse(myString).vertices);

这是假设你的意思是:

{"vertices":[-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0]}

如果 JSON 实际上如您所说(FWIW 有点奇怪),它将是:

mesh.vertices = new Float32Array(JSON.parse(JSON.parse(myString).vertices));

关于javascript - 在 Javascript 中将字符串转换为类型化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9586432/

相关文章:

javascript - 将项目插入数组的最佳性能方法?

javascript - 为什么我的 typedArrays 在 Chrome 中的访问速度比 Firefox 慢一个数量级?

typescript - 如何只接受 ArrayBuffer 作为参数

javascript - css 中蓝色条内的动画搜索表单

javascript - 对 ng-table 中的行进行排序而不对组进行排序

javascript - 如何读取具有 "4 byte single"/浮点/IEEE 754 编码数据中的二进制数据的 ArrayBuffer?

javascript - 为什么创建一个偏移量不是元素大小倍数的 Float32Array 是不允许的?

javascript - 如何将输入值添加到下面的结果列表并允许相同的文本输入字段继续添加更多?

javascript - 将输入集中在模态显示上

javascript - 如何在mongodb中使用for循环