Our volunteers haven't translated this article into ไทย yet. Join us and help get the job done!
You can also read the article in English (US).
The Uint8ClampedArray
typed array represents an array of 8-bit unsigned integers clamped to 0-255; if you specified a value that is out of the range of [0,255], 0 or 255 will be set instead; if you specify a non-integer, the nearest integer will be set. The contents are initialized to 0
. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
Syntax
new Uint8ClampedArray(); // new in ES2017 new Uint8ClampedArray(length); new Uint8ClampedArray(typedArray); new Uint8ClampedArray(object); new Uint8ClampedArray(buffer [, byteOffset [, length]]);
For more information about the constructor syntax and the parameters, see TypedArray.
Properties
Uint8ClampedArray.BYTES_PER_ELEMENT
- Returns a number value of the element size.
1
in the case of anUint8ClampedArray
. - Uint8ClampedArray.length
- Static length property whose value is 0. For the actual length (number of elements), see
Uint8ClampedArray.prototype.length
. Uint8ClampedArray.name
- Returns the string value of the constructor name. In the case of the
Uint8ClampedArray
type: "Uint8ClampedArray". Uint8ClampedArray.prototype
- Prototype for the TypedArray objects.
Methods
Uint8ClampedArray.from()
- Creates a new
Uint8ClampedArray
from an array-like or iterable object. See alsoArray.from()
. Uint8ClampedArray.of()
- Creates a new
Uint8ClampedArray
with a variable number of arguments. See alsoArray.of()
.
Uint8ClampedArray
prototype
All Uint8ClampedArray
objects inherit from %TypedArray%.prototype
.
Properties
Uint8ClampedArray.prototype.constructor
- Returns the function that created an instance's prototype. This is the
Uint8ClampedArray
constructor by default. Uint8ClampedArray.prototype.buffer
Read only- Returns the
ArrayBuffer
referenced by theUint8ClampedArray
Fixed at construction time and thus read only. Uint8ClampedArray.prototype.byteLength
Read only- Returns the length (in bytes) of the
Uint8ClampedArray
from the start of itsArrayBuffer
. Fixed at construction time and thus read only. Uint8ClampedArray.prototype.byteOffset
Read only- Returns the offset (in bytes) of the
Uint8ClampedArray
from the start of itsArrayBuffer
. Fixed at construction time and thus read only. Uint8ClampedArray.prototype.length
Read only- Returns the number of elements hold in the
UintClamped8Array
. Fixed at construction time and thus read only.
Methods
Uint8ClampedArray.prototype.copyWithin()
- Copies a sequence of array elements within the array. See also
Array.prototype.copyWithin()
. Uint8ClampedArray.prototype.entries()
- Returns a new
Array Iterator
object that contains the key/value pairs for each index in the array. See alsoArray.prototype.entries()
. Uint8ClampedArray.prototype.every()
- Tests whether all elements in the array pass the test provided by a function. See also
Array.prototype.every()
. Uint8ClampedArray.prototype.fill()
- Fills all the elements of an array from a start index to an end index with a static value. See also
Array.prototype.fill()
. 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
Array.prototype.filter()
. 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 alsoArray.prototype.find()
. 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
Array.prototype.findIndex()
. Uint8ClampedArray.prototype.forEach()
- Calls a function for each element in the array. See also
Array.prototype.forEach()
. Uint8ClampedArray.prototype.includes()
- Determines whether a typed array includes a certain element, returning
true
orfalse
as appropriate. See alsoArray.prototype.includes()
. 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
Array.prototype.indexOf()
. Uint8ClampedArray.prototype.join()
- Joins all elements of an array into a string. See also
Array.prototype.join()
. Uint8ClampedArray.prototype.keys()
- Returns a new
Array Iterator
that contains the keys for each index in the array. See alsoArray.prototype.keys()
. 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
Array.prototype.lastIndexOf()
. Uint8ClampedArray.prototype.map()
- Creates a new array with the results of calling a provided function on every element in this array. See also
Array.prototype.map()
. Uint8ClampedArray.prototype.move()
Unimplemented- Former non-standard version of
Uint8ClampedArray.prototype.copyWithin()
. 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
Array.prototype.reduce()
. 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
Array.prototype.reduceRight()
. 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
Array.prototype.reverse()
. Uint8ClampedArray.prototype.set()
- Stores multiple values in the typed array, reading input values from a specified array.
Uint8ClampedArray.prototype.slice()
- Extracts a section of an array and returns a new array. See also
Array.prototype.slice()
. Uint8ClampedArray.prototype.some()
- Returns true if at least one element in this array satisfies the provided testing function. See also
Array.prototype.some()
. Uint8ClampedArray.prototype.sort()
- Sorts the elements of an array in place and returns the array. See also
Array.prototype.sort()
. Uint8ClampedArray.prototype.subarray()
- Returns a new
Uint8ClampedArray
from the given start and end element index. Uint8ClampedArray.prototype.values()
- Returns a new
Array Iterator
object that contains the values for each index in the array. See alsoArray.prototype.values()
. Uint8ClampedArray.prototype.toLocaleString()
- Returns a localized string representing the array and its elements. See also
Array.prototype.toLocaleString()
. Uint8ClampedArray.prototype.toString()
- Returns a string representing the array and its elements. See also
Array.prototype.toString()
. Uint8ClampedArray.prototype[@@iterator]()
- Returns a new
Array Iterator
object that contains the values for each index in the array.
Examples
Different ways to create a Uint8ClampedArray
:
// 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); // From an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uintc8 = new Uint8ClampedArray(iterable); // Uint8ClampedArray[1, 2, 3]
Specifications
Specification | Status | Comment |
---|---|---|
Typed Array Specification | Obsolete | Superseded by ECMAScript 2015. |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. |
Standard | Initial definition in an ECMA standard. Specified that new is required. |
ECMAScript Latest Draft (ECMA-262) The definition of 'TypedArray constructors' in that specification. |
Draft | ECMAScript 2017 changed the Uint8ClampedArray constructor to use the ToIndex operation and allows constructors with no arguments. |
Browser compatibility
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Basic support | Chrome Full support 7 | Edge Full support Yes | Firefox Full support 4 | IE Full support 10 | Opera Full support 11.6 | Safari Full support 5.1 | WebView Android Full support 4 | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 | Opera Android Full support 11.6 | Safari iOS Full support 4.2 | Samsung Internet Android Full support Yes | nodejs Full support 0.10 |
Uint8ClampedArray() without new throws | Chrome Full support Yes | Edge Full support Yes | Firefox Full support 44 | IE No support No | Opera Full support Yes | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android Full support 44 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs Full support 0.12 |
Iterable in constructor | Chrome ? | Edge ? | Firefox Full support 52 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android Full support 52 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs Full support 4.0.0 |
Constructor without arguments | Chrome ? | Edge ? | Firefox Full support 55 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android Full support 55 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
Compatibility notes
Starting with ECMAScript 2015, Uint8ClampedArray
constructors require to be constructed with a new
operator. Calling a Uint8ClampedArray
constructor as a function without new
, will throw a 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]);