Float32Array
============

Объект **`Float32Array`** представляет типизированный массив 32-битных чисел с плавающей запятой (соответствует типу float в языке C) с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте [`DataView`]](/ru/docs/Web/JavaScript/Reference/Global\_Objects/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` (en-US).

`Float32Array.name` (en-US)

Возвращает строковое представление названия конструктора. В данном случае `Float32Array` вернёт `"Float32Array"`.

`Float32Array.prototype` (en-US)

Прототип объекта `TypedArray`.

Методы
------

`Float32Array.from()` (en-US)

Создаёт новый `Float32Array` из массивоподобного или итерируемого объекта. Смотрите также `Array.from()`.

`Float32Array.of()` (en-US)

Создаёт новый `Float32Array` с заданным числом элементов. Смотрите также `Array.of()`.

`Float32Array` prototype
------------------------

``Любые `Float32Array` объекты наследуются от `%TypedArray%.prototype` (en-US).

### Свойства

`Float32Array.prototype.constructor`

Возвращает функцию, которая создаёт экземпляр прототипа. В данном случае это конструктор `Float32Array`.

`Float32Array.prototype.buffer` (en-US) Только для чтения 

Возвращает `ArrayBuffer`, на который ссылается `Float32Array.` Автоматически изменяется при операциях над массивом и поэтому доступен **только для чтения**.

`Float32Array.prototype.byteLength` (en-US) Только для чтения 

Возвращает длину в байтах для `Float32Array` с начала его `ArrayBuffer`. Автоматически изменяется при операциях над массивом и поэтому доступен **только для чтения**.

`Float32Array.prototype.byteOffset` (en-US) Только для чтения 

Возвращает смещение (в байтах) `Float32Array` относительно начала `ArrayBuffer`. Автоматически изменяется при операциях над массивом и поэтому доступен **только для чтения**.

`Float32Array.prototype.length` (en-US) Только для чтения 

Возвращает число элементов, хранящихся в `Float32Array`. Автоматически изменяется при операциях над массивом и поэтому доступен **только для чтения**.

### Методы

`Float32Array.prototype.copyWithin()` (en-US)

Копирует последовательность элементов в массив. Смотрите также `Array.prototype.copyWithin()`.

`Float32Array.prototype.entries()` (en-US)

Возвращает новый объект `Array Iterator`, который содержит пары ключ-значение для каждого элемента в массиве. Смотрите также `Array.prototype.entries()`.

`Float32Array.prototype.every()` (en-US)

Проверяет, что все элементы в массиве соответствуют условию. Смотрите также `Array.prototype.every()`.

`Float32Array.prototype.fill()` (en-US)

Заполняет весь массив от начального до последнего индекса одинаковыми элементами. Смотрите также `Array.prototype.fill()`.

`Float32Array.prototype.filter()` (en-US)

Возвращает новый массив со всеми элементами удовлетворяющей условию. Смотрите также `Array.prototype.filter()`.

`Float32Array.prototype.find()` (en-US)

Возвращает найденное значение в массиве, если найден элемент соответствующий условию, в противном случае возвращает `undefined`. Смотрите также `Array.prototype.find()`.

`Float32Array.prototype.findIndex()` (en-US)

Возвращает индекс найденного значения в массиве, если найден элемент соответствующий условию, в противном случае возвращает `-1`. Смотрите также `Array.prototype.findIndex()`.

`Float32Array.prototype.forEach()` (en-US)

Вызывает функцию для каждого элемента в массиве. Смотрите также `Array.prototype.forEach()`.

`Float32Array.prototype.includes()` (en-US) 
Экспериментальная возможность

Проверяет что массив включает себя элемент, возвращает соответственно true или false. Смотрите также `Array.prototype.includes()`.

`Float32Array.prototype.indexOf()` (en-US)

Возвращает индекс элемента соответствующего условию (равен значению), в противном случае возвращает -1. Смотрите также `Array.prototype.indexOf()`.

`Float32Array.prototype.join()`

Объединяет элементы массива в строку. Смотрите также `Array.prototype.join()`.

`Float32Array.prototype.keys()` (en-US)

Возвращает новый `Array Iterator,` который содержит ключи элементов в массиве. Смотрите также `Array.prototype.keys()`.

`Float32Array.prototype.lastIndexOf()` (en-US)

Возвращает последний найденный индекс соответствующий искомому значению, в противном случае возвращает - 1. Смотрите также `Array.prototype.lastIndexOf()`.

`Float32Array.prototype.map()` (en-US)

Возвращает новый массив с результатом применения функции к каждому элементу в этом массиве. Смотрите также `Array.prototype.map()`.

`Float32Array.prototype.move()` 
Non-standard
 Не реализовано

Нестандартизированная версия `Float32Array.prototype.copyWithin()` (en-US).

`Float32Array.prototype.reduce()` (en-US)

Применяет функцию к каждому элементу в массиве (слева-направо) и накапливает результат в переменной. Смотрите также `Array.prototype.reduce()`.

`Float32Array.prototype.reduceRight()` (en-US)

Применяет функцию к каждому элементу в массиве (справа-налево) и накапливает результат в переменной. Смотрите также `Array.prototype.reduceRight()`.

`Float32Array.prototype.reverse()` (en-US)

Переставляет элементы массива в обратном порядке - первый становится последним и так далее. Смотрите также `Array.prototype.reverse()`.

`Float32Array.prototype.set()`

Сохраняет значения в массиве.

`Float32Array.prototype.slice()` (en-US)

Выделяет часть массива и возвращает новый с этими значениями. Смотрите также `Array.prototype.slice()`.

`Float32Array.prototype.some()` (en-US)

Возвращает true если хотя бы один элемент удовлетворяет условию. Смотрите также `Array.prototype.some()`.

`Float32Array.prototype.sort()` (en-US)

Сортирует элементы массива по порядку и возвращает этот массив. Смотрите также `Array.prototype.sort()`.

`Float32Array.prototype.subarray()` (en-US)

`Возваращает новый Float32Array` с заданного начального по конечный индекс.

`Float32Array.prototype.values()` (en-US)

Возвращает новый объект `Array Iterator` который содержит значения всех элементов в массиве. Смотрите также `Array.prototype.values()`.

`Float32Array.prototype.toLocaleString()` (en-US)

Возвращает локализированную строку представляющую массив и его элементы. Смотрите также `Array.prototype.toLocaleString()`.

`Float32Array.prototype.toString()` (en-US)

Возвращает строку представляющую массив и его элементы. Смотрите также `Array.prototype.toString()`.

`Float32Array.prototype[@@iterator]()` (en-US)

`Возвращает новый объект Array Iterator который содержит значения всех элементов в массиве.`

Примеры
-------

Разные способы создания `Float32Array`:


```js
// Используя указание длины
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 |
| --- |
| ECMAScript Language Specification # table-49 |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Примечания по совместимости
---------------------------

Начиная с ECMAScript 2015 (ES6), `Float32Array` конструктор обязательно должен вызываться с ключевым словом `new`. Вызов `Float32Array` конструктора как функцию приведёт к исключению `TypeError`.


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



```js
var dv = new Float32Array([1, 2, 3]);
```

Смотрите также
--------------

* JavaScript typed arrays
* `ArrayBuffer`
* `DataView`