set()
方法用于从指定数组中读取值,并将其存储在类型化数组中。
语法格式
typedarr.set(array [,offset]) typedarr.set(typedarray [,offset])
参数
- array
- 参数array是源数组,指定从哪里拷贝值。源数组中的所有值都会被拷贝到目标数组中去。如果源数组的长度加上偏移值offset的结果超过目标数组的长度,则会抛出异常错误。
- typedarray
- 如果源数组是一个类型化数组(typed array),则源数组和目标数组会共享同一个底层的
ArrayBuffer
;浏览器将会智能地将buffer的指定区段拷贝到目标区段中去。 - offset 可选
- 偏移量参数offset指定从什么地方开始使用源数组
array
的值进行重写。如果忽略该参数,则默认为0(也就是说,从目标数组的下标为0处开始,使用源数组array
的值覆盖重写)。
返回值
抛出的错误异常
RangeError
- 如果指定的偏移量超出了类型化数组的范围,则该异常会被抛出。
例子
使用set方法
var buffer = new ArrayBuffer(8); var uint8 = new Uint8Array(buffer); uint8.set([1,2,3], 3); console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]
规范文档
文档 | 状态 | 说明 |
---|---|---|
Typed Array Specification | Obsolete | ECMAScript 6中已废弃。 |
ECMAScript 2015 (6th Edition, ECMA-262) TypedArray.prototype.set |
Standard | 在ECMA标准中初始定义。 |
ECMAScript Latest Draft (ECMA-262) TypedArray.prototype.set |
Living Standard |
浏览器兼容性
浏览器 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
最低版本 | 7.0 | 4.0 (2) | 10 | 11.6 | 5.1 |
浏览器 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
最低版本 | 4.0 | (Yes) | 4.0 (2) | 10 | 11.6 | 4.2 |