我将在 Javascript 中存储大量字节值(很可能超过一百万)。如果我使用带有普通数字的普通数组,则需要 8 MB,因为数字存储为 IEEE 双精度数,但如果我可以将其存储为字节,则只需 1 MB。
由于显而易见的原因,我想避免浪费那么多空间。有没有办法将字节存储为字节而不是双精度数?浏览器兼容性对我来说不是问题,只要它能在 Chrome 中运行即可。如果这有什么不同的话,这是 HTML5 中的。
通过使用类型数组,您可以存储数组这些类型:
Type |
Value Range |
Size(bytes) |
Int8Array |
-128 to 127 |
1 |
Uint8Array |
0 to 255 |
1 |
Uint8ClampedArray |
0 to 255 |
1 |
Int16Array |
-32768 to 32767 |
2 |
Uint16Array |
0 to 65535 |
2 |
Int32Array |
-2147483648 to 2147483647 |
4 |
Uint32Array |
0 to 4294967295 |
4 |
Float32Array |
-3.4E38 to 3.4E38 |
4 |
Float64Array |
-1.8E308 to 1.8E308 |
8 |
BigInt64Array |
-2^63 to 2^63 - 1 |
8 |
BigUint64Array |
0 to 2^64 - 1 |
8 |
堆栈片段中的演示 &JSFiddle
var array = new Uint8Array(100);
array[42] = 10;
console.log(array[42]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)