Объект Float32Array представляет типизированный массив 32-битных чисел с плавающей запятой (соответствует типу float в языке C) с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Float32Array, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации - квадратные скобки).
Синтаксис
new Float32Array(); // new in ES2017 new Float32Array(length); new Float32Array(typedArray); new Float32Array(object); new Float32Array(buffer [, byteOffset [, length]]);
Для более подробной информации о синтаксисе конструктора и его параметрах смотрите TypedArray.
Свойства
Float32Array.BYTES_PER_ELEMENT- Возвращает число, соответствующее размеру элемента массива в байтах. Для
Float32Arrayэто4. - Float32Array.length
- Статическое свойство "длина" со значением 0. Если хотите получить актуальную длину массива (число элементов) используйте
Float32Array.prototype.length. Float32Array.name- Возвращает строковое представление названия конструктора. В данном случае
Float32Arrayвернёт"Float32Array". Float32Array.prototype- Прототип объекта
TypedArray.
Методы
Float32Array.from()- Создаёт новый
Float32Arrayиз массивоподобного или итерируемого объекта. Смотрите такжеArray.from(). Float32Array.of()- Создаёт новый
Float32Arrayс заданным числом элементов. Смотрите такжеArray.of().
Float32Array prototype
Любые Float32Array объекты наследуются от %TypedArray%.prototype.
Свойства
Float32Array.prototype.constructor- Возвращает функцию, которая создаёт экземпляр прототипа. В данном случае это конструктор
Float32Array. Float32Array.prototype.bufferТолько для чтения- Возвращает
ArrayBuffer, на который ссылаетсяFloat32Array.Автоматически изменяется при операциях над массивом и поэтому доступен только для чтения. Float32Array.prototype.byteLengthТолько для чтения- Возвращает длину в байтах для
Float32Arrayс начала егоArrayBuffer. Автоматически изменяется при операциях над массивом и поэтому доступен только для чтения. Float32Array.prototype.byteOffsetТолько для чтения- Возвращает смещение (в байтах)
Float32Arrayотносительно началаArrayBuffer. Автоматически изменяется при операциях над массивом и поэтому доступен только для чтения. Float32Array.prototype.lengthТолько для чтения- Возвращает число элементов, хранящихся в
Float32Array. Автоматически изменяется при операциях над массивом и поэтому доступен только для чтения.
Методы
Float32Array.prototype.copyWithin()- Копирует последовательность элементов в массив. Смотрите также
Array.prototype.copyWithin(). Float32Array.prototype.entries()- Возвращает новый объект
Array Iterator, который содержит пары ключ-значение для каждого элемента в массиве. Смотрите такжеArray.prototype.entries(). Float32Array.prototype.every()- Проверяет, что все элементы в массиве соответствуют условию. Смотрите также
Array.prototype.every(). Float32Array.prototype.fill()- Заполняет весь массив от начального до последнего индекса одинаковыми элементами. Смотрите также
Array.prototype.fill(). Float32Array.prototype.filter()- Возвращает новый массив со всеми элементами удовлетворяющеми условию. Смотрите также
Array.prototype.filter(). Float32Array.prototype.find()- Возвращает найденное значение в массиве, если найден элемент соответствуший условию, в противном случае возвращает
undefined. Смотрите такжеArray.prototype.find(). Float32Array.prototype.findIndex()- Возвращает индекс найденного значения в массиве, если найден элемент соответствуеший условию, в противном случае возвращает -1. Смотрите также
Array.prototype.findIndex(). Float32Array.prototype.forEach()- Вызывает функцию для каждого элемента в массиве. Смотрите также
Array.prototype.forEach(). Float32Array.prototype.includes()- Проверяет что массив включает себя элемент, возвращает соответственно true или false. Смотрите также
Array.prototype.includes(). Float32Array.prototype.indexOf()- Возвращает индекс элемента соответствующего условию (равен значению), в противном случае возвращает -1. Смотрите также
Array.prototype.indexOf(). Float32Array.prototype.join()- Объединяет элементы массива в строку. Смотрите также
Array.prototype.join(). Float32Array.prototype.keys()- Возвращает новый
Array Iterator,который содержит ключи элементов в массиве. Смотрите такжеArray.prototype.keys(). Float32Array.prototype.lastIndexOf()- Возвращает последний найденный индекс соответствующий искомому значению, в противном случае возвращает - 1. Смотрите также
Array.prototype.lastIndexOf(). Float32Array.prototype.map()- Возвращает новый массив с результатом применения функции к каждому элементу в этом массиве. Смотрите также
Array.prototype.map(). Float32Array.prototype.move()Не реализовано- Нестандаризированная версия
Float32Array.prototype.copyWithin(). Float32Array.prototype.reduce()- Применяет функцию к каждому элементу в массиве (слева-направо) и накапливает результат в переменной. Смотрите также
Array.prototype.reduce(). Float32Array.prototype.reduceRight()- Применяет функцию к каждому элементу в массиве (справа-налево) и накапливает результат в переменной. Смотрите также
Array.prototype.reduceRight(). Float32Array.prototype.reverse()- Переставляет элементы массива в обратном порядке - первый становится последним и так далее. Смотрите также
Array.prototype.reverse(). Float32Array.prototype.set()- Сохраняет значения в массиве.
Float32Array.prototype.slice()- Выделяет часть массива и возвращает новый с этими значениями. Смотрите также
Array.prototype.slice(). Float32Array.prototype.some()- Возвращает true если хотя бы один элемент удовлетворяет условию. Смотрите также
Array.prototype.some(). Float32Array.prototype.sort()- Сортирует элементы массива по порядку и возвращает этот массив. Смотрите также
Array.prototype.sort(). Float32Array.prototype.subarray()Возваращает новый Float32Arrayс заданного начального по конечный индекс.Float32Array.prototype.values()- Возвращает новый объект
Array Iteratorкотрый содержит значения всех элементов в массиве. Смотрите такжеArray.prototype.values(). Float32Array.prototype.toLocaleString()- Возвращает локализированную строку представляющую массив и его элементы. Смотрите также
Array.prototype.toLocaleString(). Float32Array.prototype.toString()- Возвращает строку представляющую массив и его элементы. Смотрите также
Array.prototype.toString(). Float32Array.prototype[@@iterator]()Возвращает новый объект Array Iterator который содержит значения всех элементов в массиве.
Примеры
Разные способы создания Float32Array:
// Используя указание длины
var float32 = new Float32Array(2);
float32[0] = 42;
console.log(float32[0]); // 42
console.log(float32.length); // 2
console.log(float32.BYTES_PER_ELEMENT); // 4
// Из массива
var arr = new Float32Array([21,31]);
console.log(arr[1]); // 31
// Из другого TypedArray
var x = new Float32Array([21, 31]);
var y = new Float32Array(x);
console.log(y[0]); // 21
// Из другого ArrayBuffer
var buffer = new ArrayBuffer(16);
var z = new Float32Array(buffer, 0, 4);
// Из итератора
var iterable = function*(){ yield* [1,2,3]; }();
var float32 = new Float32Array(iterable);
// Float32Array[1, 2, 3]Спецификация
| Specification | Status | Comment |
|---|---|---|
| Typed Array Specification | Устаревшая | Заменены в ECMAScript 6. |
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'TypedArray constructors' в этой спецификации. |
Стандарт | Первоначальное появление в стандарте ECMA. Показывает что new обязательно. |
| ECMAScript (ECMA-262) Определение 'TypedArray constructors' в этой спецификации. |
Живой стандарт | ECMAScript 2017 changed the Float32Array constructor to use the ToIndex operation and allows constructors with no arguments. |
Браузерная совместимость
BCD tables only load in the browser
Заметки по совместимости
Начиная с ECMAScript 2015 (ES6), Float32Array конструктор обязательно должен вызываться с ключевым словом new. Вызов Float32Array конструктора как функцию приведет к исключению TypeError.
var dv = Float32Array([1, 2, 3]);
// TypeError: calling a builtin Float32Array constructor
// without new is forbidden
var dv = new Float32Array([1, 2, 3]);