gpt4 book ai didi

javascript - 如何检查变量是否是javascript中的类型化数组?

转载 作者:可可西里 更新时间:2023-11-01 01:26:44 24 4
gpt4 key购买 nike

我正在开发一款游戏,我们广泛使用类型化数组 (Float32Arrays) 作为我们的数学类型。我们从 JSON 保存和加载游戏状态。 JSON stringify 输出的一个例子是这样的数组(在 Chrome 中)是:

"{"0":0,"1":0,"2":0,"length":3,"byteLength":12,"byteOffset":0,"buffer":{"byteLength":12}}"

这会浪费空间并导致它们被加载为不方便的对象。理想情况下,我们可以使用 stringify 'replacer' 函数来测试变量是否为类型化数组,然后在这种情况下将其转换为沼泽标准数组。不幸的是,我不确定如何可靠地测试变量是否是类型化数组。

有什么帮助吗?

最佳答案

ArrayBuffer.isView 应该可以帮助您。

var data = [0,1,2]
var dataBuffer = new ArrayBuffer( data )
var dataBufferView = new Float32Array( data )

ArrayBuffer.isView(data) //false
ArrayBuffer.isView(dataBuffer) //false
ArrayBuffer.isView(dataBufferView) //true
dataBuffer instanceof ArrayBuffer //true

关于javascript - 如何检查变量是否是javascript中的类型化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15251879/

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