在AssemblyScript中编程时,您会选择其中一种而不是另一种?
就我而言,我正在尝试从浮点数的元组列表中构建 K-d 树。因为我需要重新排列和排序传入的元组列表,所以我的第一个选择是使用Array<Array<f64>>
,因为我可以轻松地在其中添加和删除数据。[
你的直觉是正确的,标准数组是最灵活的。
在汇编脚本中,有三种数组类型。
数组
let a:f32[] = [0,1,2]
- 可调整大小
- 可以保存引用
- 性能最低的
静态数组
let a:StaticArray<f32> = [0,1,2]
- 固定尺寸
- 可以保存引用
- 出色的性能
类型化数组
let a:Float32Array = new Float32Array(3)
- 固定尺寸
- 只能保存数值
- 出色的性能
- 共享视图等的缓冲区访问
注意 - 目前无法使用值初始化类型化数组,即
new Float32Array([0,1,2])