1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
---
title: Uint8ClampedArray
slug: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray
tags:
- Class
- JavaScript
- TypedArray
- TypedArrays
translation_of: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray
---
<div>{{JSRef}}</div>
<p><strong><code>Uint8ClampedArray</code></strong> は型付き配列であり、 0-255 に制約される 8 ビット符号なし整数値の配列を生成します。指定された値が [0,255] の範囲を超えた場合、 0 または 255 が代わりに設定されます。整数以外を指定しようとすると、最も近い整数が設定されます。中身は <code>0</code> で初期化されます。生成されると、配列の中の要素はオブジェクトのメソッドを使用するか、配列の標準的な添字の構文を使用するか (すなわち、ブラケット構文を使用するか) して参照することができます。</p>
<h2 id="Constructor" name="Constructor">コンストラクター</h2>
<dl>
<dt>{{jsxref("Global_Objects/Uint8ClampedArray/Uint8ClampedArray", "Uint8ClampedArray()")}}</dt>
<dd>新しい <code>Uint8ClampedArray</code> オブジェクトを生成します。</dd>
</dl>
<h2 id="Static_properties" name="Static_properties">静的プロパティ</h2>
<dl>
<dt>{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Uint8ClampedArray.BYTES_PER_ELEMENT")}}</dt>
<dd>要素の大きさの数値を返します。 <code>Uint8ClampedArray</code> の場合は <code>1</code> になります。</dd>
<dt>{{jsxref("TypedArray.name", "Uint8ClampedArray.name")}}</dt>
<dd>コンストラクターの名前を文字列値で返します。 <code>Uint8ClampedArray</code> 型の場合は "<code>Uint8ClampedArray</code>" です。</dd>
</dl>
<h2 id="Static_methods" name="Static_methods">静的メソッド</h2>
<dl>
<dt>{{jsxref("TypedArray.from", "Uint8ClampedArray.from()")}}</dt>
<dd>新しい <code>Uint8ClampedArray</code> を、配列風オブジェクトや反復可能オブジェクトから生成します。 {{jsxref("Array.from()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.of", "Uint8ClampedArray.of()")}}</dt>
<dd>新しい <code>Uint8ClampedArray</code> を、可変長引数から生成します。 {{jsxref("Array.of()")}} も参照してください。</dd>
</dl>
<h2 id="Instance_properties" name="Instance_properties">インスタンスプロパティ</h2>
<dl>
<dt>{{jsxref("TypedArray.prototype.buffer", "Uint8ClampedArray.prototype.buffer")}}</dt>
<dd><code>Uint8ClampedArray</code> オブジェクトによって参照される {{jsxref("ArrayBuffer")}} を返します。構築時に設定され、<strong>読取専用</strong>です。</dd>
<dt>{{jsxref("TypedArray.prototype.byteLength", "Uint8ClampedArray.prototype.byteLength")}}</dt>
<dd><code>Uint8ClampedArray</code> の長さを {{jsxref("ArrayBuffer")}} の先頭からのバイト単位で返します。構築時に設定され、<strong>読取専用</strong>です。</dd>
<dt>{{jsxref("TypedArray.prototype.byteOffset", "Uint8ClampedArray.prototype.byteOffset")}}</dt>
<dd><code>Uint8ClampedArray</code> のオフセットを、 {{jsxref("ArrayBuffer")}} の先頭からのバイト単位で返します。構築時に設定され、<strong>読取専用</strong>です。</dd>
<dt>{{jsxref("TypedArray.prototype.length", "Uint8ClampedArray.prototype.length")}}</dt>
<dd><code>Uint8ClampedArray</code> オブジェクト内に保持されている要素の数を返します。構築時に設定され、<strong>読取専用</strong>です。</dd>
</dl>
<h2 id="Instance_methods" name="Instance_methods">インスタンスメソッド</h2>
<dl>
<dt>{{jsxref("TypedArray.copyWithin", "Uint8ClampedArray.prototype.copyWithin()")}}</dt>
<dd>配列内で一連の配列要素をコピーします。 {{jsxref("Array.prototype.copyWithin()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.entries", "Uint8ClampedArray.prototype.entries()")}}</dt>
<dd>配列内の各添字に対するキーと値の組を含む、新しい<em>配列イテレーター</em>を返します。 {{jsxref("Array.prototype.entries()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.every", "Uint8ClampedArray.prototype.every()")}}</dt>
<dd>配列内のすべての要素に対して、指定された関数によるテストに合格するかどうかをテストします。 {{jsxref("Array.prototype.every()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.fill", "Uint8ClampedArray.prototype.fill()")}}</dt>
<dd>配列の先頭から末尾までのすべての要素を固定値で設定します。 {{jsxref("Array.prototype.fill()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.filter", "Uint8ClampedArray.prototype.filter()")}}</dt>
<dd>この配列のすべての要素のうち、指定されたフィルタリング関数が与えられたフィルタリング関数が <code>true</code> を返すすべての要素で、新しい配列を生成します。 {{jsxref("Array.prototype.filter()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.find", "Uint8ClampedArray.prototype.find()")}}</dt>
<dd>指定されたテスト関数を満足する要素が見つかった場合、その値を返します。見つからなかった場合は <code>undefined</code> を返します。 {{jsxref("Array.prototype.find()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.findIndex", "Uint8ClampedArray.prototype.findIndex()")}}</dt>
<dd>指定されたテスト関数を満足する要素が見つかった場合、その添字を返します。見つからなかった場合は <code>-1</code> を返します。 {{jsxref("Array.prototype.findIndex()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.forEach", "Uint8ClampedArray.prototype.forEach()")}}</dt>
<dd>配列内の各要素に対してある関数を呼び出します。 {{jsxref("Array.prototype.forEach()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.includes", "Uint8ClampedArray.prototype.includes()")}}</dt>
<dd>型付き配列にある要素が含まれているかどうかを判断し、それに応じて <code>true</code> または <code>false</code> を返します。 {{jsxref("Array.prototype.includes()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.indexOf", "Uint8ClampedArray.prototype.indexOf()")}}</dt>
<dd>配列内の要素のうち、指定された値と等しい最初の要素の添字を返します。見つからない場合は <code>-1</code> を返します。 {{jsxref("Array.prototype.indexOf()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.join", "Uint8ClampedArray.prototype.join()")}}</dt>
<dd>すべての配列要素を1つの文字列に結合します。 {{jsxref("Array.prototype.join()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.keys", "Uint8ClampedArray.prototype.keys()")}}</dt>
<dd>配列内のすべての添字に対するキーを含む新しい<em>配列イテレーター</em>を返します。 {{jsxref("Array.prototype.keys()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.lastIndexOf", "Uint8ClampedArray.prototype.lastIndexOf()")}}</dt>
<dd>配列内の要素のうち、指定された値と等しい最後の要素の添字を返します。見つからない場合は <code>-1</code> を返します。 {{jsxref("Array.prototype.lastIndexOf()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.map", "Uint8ClampedArray.prototype.map()")}}</dt>
<dd>この配列のすべての要素を引数として指定された関数を呼び出し、その結果で新しい配列を生成します。 {{jsxref("Array.prototype.map()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.reduce", "Uint8ClampedArray.prototype.reduce()")}}</dt>
<dd>アキュームレーターと配列の各要素に対して (左から右へ) 関数を適用し、単一の値に縮小します。 {{jsxref("Array.prototype.reduce()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.reduceRight", "Uint8ClampedArray.prototype.reduceRight()")}}</dt>
<dd>アキュームレーターと配列の各要素に対して (右から左へ) 関数を適用し、単一の値に縮小します。 {{jsxref("Array.prototype.reduceRight()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.reverse", "Uint8ClampedArray.prototype.reverse()")}}</dt>
<dd>配列要素の順番を反転させます。 — 最初の要素は最後になり、最後の要素は最初になります。 {{jsxref("Array.prototype.reverse()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.set", "Uint8ClampedArray.prototype.set()")}}</dt>
<dd>指定された配列から複数の入力値を読み込み、型付き配列に格納します。</dd>
<dt>{{jsxref("TypedArray.slice", "Uint8ClampedArray.prototype.slice()")}}</dt>
<dd>配列の一区間を取り出して新しい配列を返します。 {{jsxref("Array.prototype.slice()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.some", "Uint8ClampedArray.prototype.some()")}}</dt>
<dd>この配列内で、指定されたテスト関数を満たす要素が1つでもあった場合に <code>true</code> を返します。 {{jsxref("Array.prototype.some()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.sort", "Uint8ClampedArray.prototype.sort()")}}</dt>
<dd>配列の要素をその場でソートし、その配列を返します。 {{jsxref("Array.prototype.sort()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.subarray", "Uint8ClampedArray.prototype.subarray()")}}</dt>
<dd>指定された開始位置と終了位置の間にある要素から新しい <code>Uint8ClampedArray</code> を返します。</dd>
<dt>{{jsxref("TypedArray.values", "Uint8ClampedArray.prototype.values()")}}</dt>
<dd>配列内の各添字に対する値を含む新しい<em>配列イテレーター</em>を返します。 {{jsxref("Array.prototype.values()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.toLocaleString", "Uint8ClampedArray.prototype.toLocaleString()")}}</dt>
<dd>配列と要素を表すローカライズされた文字列を返します。 {{jsxref("Array.prototype.toLocaleString()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.toString", "Uint8ClampedArray.prototype.toString()")}}</dt>
<dd>配列と要素を表す文字列を返します。 {{jsxref("Array.prototype.toString()")}} も参照してください。</dd>
<dt>{{jsxref("TypedArray.@@iterator", "Uint8ClampedArray.prototype[@@iterator]()")}}</dt>
<dd>配列内のそれぞれの添字の値を含む新しい<em>配列イテレーター</em>オブジェクトを返します。</dd>
</dl>
<h2 id="Examples" name="Examples">例</h2>
<h3 id="Different_ways_to_create_a_Uint8ClampedArray" name="Different_ways_to_create_a_Uint8ClampedArray">Uint8ClampedArray を生成する様々な方法</h3>
<pre class="brush: js notranslate">// 長さを指定
var uintc8 = new Uint8ClampedArray(2);
uintc8[0] = 42;
uintc8[1] = 1337;
console.log(uintc8[0]); // 42
console.log(uintc8[1]); // 255 (clamped)
console.log(uintc8.length); // 2
console.log(uintc8.BYTES_PER_ELEMENT); // 1
// 配列から
var arr = new Uint8ClampedArray([21,31]);
console.log(arr[1]); // 31
// 他の型付き配列から
var x = new Uint8ClampedArray([21, 31]);
var y = new Uint8ClampedArray(x);
console.log(y[0]); // 21
// ArrayBuffer から
var buffer = new ArrayBuffer(8);
var z = new Uint8ClampedArray(buffer, 1, 4);
// 反復可能オブジェクトから
var iterable = function*(){ yield* [1,2,3]; }();
var uintc8 = new Uint8ClampedArray(iterable);
// Uint8ClampedArray[1, 2, 3]
</pre>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}}</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("javascript.builtins.Uint8ClampedArray")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li><a href="/ja/docs/Web/JavaScript/Typed_arrays">JavaScript 型付き配列</a></li>
<li>{{jsxref("ArrayBuffer")}}</li>
<li>{{jsxref("DataView")}}</li>
</ul>
|