小编AGD*_*AGD的帖子

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

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

"{"0":0,"1":0,"2":0,"length":3,"byteLength":12,"byteOffset":0,"buffer":{"byteLength":12}}"
Run Code Online (Sandbox Code Playgroud)

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

有帮助吗?

javascript json typedarray stringify

15
推荐指数
4
解决办法
1万
查看次数

你能用打字稿写一个通用的复制对象函数吗?

到目前为止,我已经尝试过:

function copyObject<K, V> (object: { [k: K]: V; }) {
    var objectCopy = {};

    for (var key in object)
    {
        if (object.hasOwnProperty(key))
        {
            objectCopy[key] = object[key];
        }
    }

    return objectCopy;
}
Run Code Online (Sandbox Code Playgroud)

但是这给出了一个编译器警告:"索引签名参数类型必须是'string'或'number'".

也许可以将密钥类型约束为数字或字符串?或者只是将两种类型作为键重载?

generics typescript

5
推荐指数
1
解决办法
7963
查看次数

标签 统计

generics ×1

javascript ×1

json ×1

stringify ×1

typedarray ×1

typescript ×1