TypedArray.prototype.set() - 別の配列を自身の一部にコピーする
TypedArray.prototype.set()は、引数に指定した別の配列やTypedArrayを、元の配列の一部にコピーします。TypedArrayがArrayBufferを参照するビューの場合は、そのバイナリデータに書き込めます。元のTypedArrayの範囲を超えてコピーしようとするとエラーが発生します。
概要
説明
%TypedArray%.prototype.set ( overloaded [ , offset ] )
第1引数(overloaded)には、対象の配列を指定して下さい。
第2引数(offset)には、上書きを開始する位置を表すオフセットを数値で指定して下さい。
デモ
TypedArray.prototype.set()のデモです。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
body {
white-space: pre-wrap ;
}
</style>
</head>
<body>
<script>
/** try it! **/
var typedArray = new Uint8Array( [ 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04 ] ) ;
var otherArray = [ 0xff, 0xff, 0xff, 0xff ] ;
typedArray.set( otherArray, 2 ) ;
var a = typedArray ;
/** try it! **/
var results = { a:a, } ;
for( var name in results ) {
console.log( name, results[name] ) ;
document.body.appendChild( new Text( name + " = " + JSON.stringify( results[name] ) + "\n" ) ) ;
}
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● | ● | ● 5.1+ | ● | ● 10+ | ● 11.6+ | ● | ● 4.0+ |
関連記事
- TypedArray
- TypedArrayは、型付きの配列です。主にバイナリデータを取り扱うためのオブジェクトです。TypedArrayという名前は、同じインターフェイスを持つ複数のオブジェクトの総称であり、この名前のオブジェクト、コンストラクタはありません。
- TypedArray.prototype.copyWithin()
- TypedArray.prototype.copyWithin()は、配列の一部分をコピーして、そのまま別部分に上書きするメソッドです。返り値を得られますが、元の配列も変更されます。
- TypedArray.prototype.buffer
- TypedArray.prototype.bufferは、自身(ビュー)が参照しているArrayBufferを返すプロパティです。この返り値は、新しいArrayBufferではありません。
- TypedArray.prototype.subarray()
- TypedArray.prototype.subarray()は、TypedArrayの一部を切り取って、新しいTypedArrayを作成します。TypedArrayがバッファ(ArrayBuffer)のビューの場合、元の配列と新しい配列は同じバッファを参照していることになります。