由于类型化数组只是具有类型化值的普通数组,因此它们也应被视为“数组”。但是当我测试类型化数组是否为数组时,它返回 false
。例如:
var arr = new Int32Array(3);
Array.isArray(arr); //false
Array.isArray
是否只检查 arr
是否恰好是类型 Array
对象?我如何测试 arr
是否为数组,无论类型化与否?
最佳答案
类型化数组与数组截然不同。数组是通用集合,带有大量用于对这些集合进行操作的辅助方法。
Typed Arrays 主要用于帮助浏览器版本的 OpenGL(尽管它们显然还有其他用途)。
尝试调用 typedInt8Array.forEach()
...
它们不是一回事。
因此,如果您想要一个检查变量/属性是数组还是类型化数组的函数,那么您将必须手动检查每个 Int8Array| 的
。instanceof
。 Int16Array|等...
关于javascript - 类型化数组和普通数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134944/