--- title: Uint8ClampedArray slug: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray translation_of: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray ---
{{JSRef}}

Типизированный массив Uint8ClampedArray —  это массив,  служащий для хранения 8-битных беззнаковых чисел, обрезаемых до диапазона от 0 до 255. Если значение меньше 0, то оно будет приведено к 0 , и к 255, если оно больше 255. Числа с плавающей точкой округляются с помощью математического округления. Массив инициализируется нулями. После того как значение установлено, Вы можете ссылаться на него с помощью методов объекта или через стандартный синтаксис массивов (то есть, брать значения с помощью квадратных скобок). 

Syntax

new Uint8ClampedArray(length);
new Uint8ClampedArray(typedArray);
new Uint8ClampedArray(object);
new Uint8ClampedArray(buffer [, byteOffset [, length]]);

Для более подробной информации, смотрите TypedArray.

Properties

{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Uint8ClampedArray.BYTES_PER_ELEMENT")}}
Возвращает размер элемента в байтах. Для Uint8ClampedArray оно равно 1.
Uint8ClampedArray.length
Static length property whose value is 3. For the actual length (number of elements), see {{jsxref("TypedArray.prototype.length", "Uint8ClampedArray.prototype.length")}}.
{{jsxref("TypedArray.name", "Uint8ClampedArray.name")}}
Returns the string value of the constructor name. In the case of the Uint8ClampedArray type: "Uint8ClampedArray".
{{jsxref("TypedArray.prototype", "Uint8ClampedArray.prototype")}}
Prototype for the TypedArray objects.

Methods

{{jsxref("TypedArray.from", "Uint8ClampedArray.from()")}}
Creates a new Uint8ClampedArray from an array-like or iterable object. See also {{jsxref("Array.from()")}}.
{{jsxref("TypedArray.of", "Uint8ClampedArray.of()")}}
Creates a new Uint8ClampedArray with a variable number of arguments. See also {{jsxref("Array.of()")}}.

Uint8ClampedArray prototype

All Uint8ClampedArray objects inherit from {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}.

Properties

Uint8ClampedArray.prototype.constructor
Returns the function that created an instance's prototype. This is the Uint8ClampedArray constructor by default.
{{jsxref("TypedArray.prototype.buffer", "Uint8ClampedArray.prototype.buffer")}} {{readonlyInline}}
Returns the {{jsxref("ArrayBuffer")}} referenced by the Uint8ClampedArray Fixed at construction time and thus read only.
{{jsxref("TypedArray.prototype.byteLength", "Uint8ClampedArray.prototype.byteLength")}} {{readonlyInline}}
Returns the length (in bytes) of the Uint8ClampedArray from the start of its {{jsxref("ArrayBuffer")}}. Fixed at construction time and thus read only.
{{jsxref("TypedArray.prototype.byteOffset", "Uint8ClampedArray.prototype.byteOffset")}} {{readonlyInline}}
Returns the offset (in bytes) of the Uint8ClampedArray from the start of its {{jsxref("ArrayBuffer")}}. Fixed at construction time and thus read only.
{{jsxref("TypedArray.prototype.length", "Uint8ClampedArray.prototype.length")}} {{readonlyInline}}
Returns the number of elements hold in the UintClamped8Array. Fixed at construction time and thus read only.

Methods

{{jsxref("TypedArray.copyWithin", "Uint8ClampedArray.prototype.copyWithin()")}}
Copies a sequence of array elements within the array. See also {{jsxref("Array.prototype.copyWithin()")}}.
{{jsxref("TypedArray.entries", "Uint8ClampedArray.prototype.entries()")}}
Returns a new Array Iterator object that contains the key/value pairs for each index in the array. See also {{jsxref("Array.prototype.entries()")}}.
{{jsxref("TypedArray.every", "Uint8ClampedArray.prototype.every()")}}
Tests whether all elements in the array pass the test provided by a function. See also {{jsxref("Array.prototype.every()")}}.
{{jsxref("TypedArray.fill", "Uint8ClampedArray.prototype.fill()")}}
Fills all the elements of an array from a start index to an end index with a static value. See also {{jsxref("Array.prototype.fill()")}}.
{{jsxref("TypedArray.filter", "Uint8ClampedArray.prototype.filter()")}}
Creates a new array with all of the elements of this array for which the provided filtering function returns true. See also {{jsxref("Array.prototype.filter()")}}.
{{jsxref("TypedArray.find", "Uint8ClampedArray.prototype.find()")}}
Returns the found value in the array, if an element in the array satisfies the provided testing function or undefined if not found. See also {{jsxref("Array.prototype.find()")}}.
{{jsxref("TypedArray.findIndex", "Uint8ClampedArray.prototype.findIndex()")}}
Returns the found index in the array, if an element in the array satisfies the provided testing function or -1 if not found. See also {{jsxref("Array.prototype.findIndex()")}}.
{{jsxref("TypedArray.forEach", "Uint8ClampedArray.prototype.forEach()")}}
Calls a function for each element in the array. See also {{jsxref("Array.prototype.forEach()")}}.
{{jsxref("TypedArray.includes", "Uint8ClampedArray.prototype.includes()")}} {{experimental_inline}}
Determines whether a typed array includes a certain element, returning true or false as appropriate. See also {{jsxref("Array.prototype.includes()")}}.
{{jsxref("TypedArray.indexOf", "Uint8ClampedArray.prototype.indexOf()")}}
Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found. See also {{jsxref("Array.prototype.indexOf()")}}.
{{jsxref("TypedArray.join", "Uint8ClampedArray.prototype.join()")}}
Joins all elements of an array into a string. See also {{jsxref("Array.prototype.join()")}}.
{{jsxref("TypedArray.keys", "Uint8ClampedArray.prototype.keys()")}}
Returns a new Array Iterator that contains the keys for each index in the array. See also {{jsxref("Array.prototype.keys()")}}.
{{jsxref("TypedArray.lastIndexOf", "Uint8ClampedArray.prototype.lastIndexOf()")}}
Returns the last (greatest) index of an element within the array equal to the specified value, or -1 if none is found. See also {{jsxref("Array.prototype.lastIndexOf()")}}.
{{jsxref("TypedArray.map", "Uint8ClampedArray.prototype.map()")}}
Creates a new array with the results of calling a provided function on every element in this array. See also {{jsxref("Array.prototype.map()")}}.
{{jsxref("TypedArray.move", "Uint8ClampedArray.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}
Former non-standard version of {{jsxref("TypedArray.copyWithin", "Uint8ClampedArray.prototype.copyWithin()")}}.
{{jsxref("TypedArray.reduce", "Uint8ClampedArray.prototype.reduce()")}}
Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also {{jsxref("Array.prototype.reduce()")}}.
{{jsxref("TypedArray.reduceRight", "Uint8ClampedArray.prototype.reduceRight()")}}
Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also {{jsxref("Array.prototype.reduceRight()")}}.
{{jsxref("TypedArray.reverse", "Uint8ClampedArray.prototype.reverse()")}}
Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also {{jsxref("Array.prototype.reverse()")}}.
{{jsxref("TypedArray.set", "Uint8ClampedArray.prototype.set()")}}
Stores multiple values in the typed array, reading input values from a specified array.
{{jsxref("TypedArray.slice", "Uint8ClampedArray.prototype.slice()")}}
Extracts a section of an array and returns a new array. See also {{jsxref("Array.prototype.slice()")}}.
{{jsxref("TypedArray.some", "Uint8ClampedArray.prototype.some()")}}
Returns true if at least one element in this array satisfies the provided testing function. See also {{jsxref("Array.prototype.some()")}}.
{{jsxref("TypedArray.sort", "Uint8ClampedArray.prototype.sort()")}}
Sorts the elements of an array in place and returns the array. See also {{jsxref("Array.prototype.sort()")}}.
{{jsxref("TypedArray.subarray", "Uint8ClampedArray.prototype.subarray()")}}
Returns a new Uint8ClampedArray from the given start and end element index.
{{jsxref("TypedArray.values", "Uint8ClampedArray.prototype.values()")}}
Returns a new Array Iterator object that contains the values for each index in the array. See also {{jsxref("Array.prototype.values()")}}.
{{jsxref("TypedArray.toLocaleString", "Uint8ClampedArray.prototype.toLocaleString()")}}
Returns a localized string representing the array and its elements. See also {{jsxref("Array.prototype.toLocaleString()")}}.
{{jsxref("TypedArray.toString", "Uint8ClampedArray.prototype.toString()")}}
Returns a string representing the array and its elements. See also {{jsxref("Array.prototype.toString()")}}.
{{jsxref("TypedArray.@@iterator", "Uint8ClampedArray.prototype[@@iterator]()")}}
Returns a new Array Iterator object that contains the values for each index in the array.

Examples

// From a length
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

// From an array
var arr = new Uint8ClampedArray([21,31]);
console.log(arr[1]); // 31

// From another TypedArray
var x = new Uint8ClampedArray([21, 31]);
var y = new Uint8ClampedArray(x);
console.log(y[0]); // 21

// From an ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8ClampedArray(buffer, 1, 4);

Specifications

Specification Status Comment
{{SpecName('Typed Array')}} {{Spec2('Typed Array')}} Superseded by ECMAScript 6.
{{SpecName('ES6', '#table-49', 'TypedArray constructors')}} {{Spec2('ES6')}} Initial definition in an ECMA standard. Specified that new is required.
{{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}} {{Spec2('ESDraft')}}  

Browser compatibility

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 7.0 {{ CompatGeckoDesktop(2) }} 11 (as of KB2929437) 11.6 5.1
new is required {{CompatUnknown}} {{ CompatGeckoDesktop(44) }} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 4.0 {{CompatVersionUnknown}} {{ CompatGeckoMobile(2) }} {{CompatVersionUnknown}} 11.6 4.2
new is required {{CompatUnknown}} {{CompatUnknown}} {{ CompatGeckoMobile(44) }} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

Compatibility notes

Starting with ECMAScript 2015 (ES6), Uint8ClampedArray constructors require to be constructed with a {{jsxref("Operators/new", "new")}} operator. Calling a Uint8ClampedArray constructor as a function without new, will throw a {{jsxref("TypeError")}} from now on.

var dv = Uint8ClampedArray([1, 2, 3]);
// TypeError: calling a builtin Uint8ClampedArray constructor
// without new is forbidden
var dv = new Uint8ClampedArray([1, 2, 3]);

See also