diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/javascript/reference/global_objects/float32array | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/float32array')
-rw-r--r-- | files/ru/web/javascript/reference/global_objects/float32array/index.html | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/float32array/index.html b/files/ru/web/javascript/reference/global_objects/float32array/index.html new file mode 100644 index 0000000000..dec9a2b937 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/float32array/index.html @@ -0,0 +1,202 @@ +--- +title: Float32Array +slug: Web/JavaScript/Reference/Global_Objects/Float32Array +translation_of: Web/JavaScript/Reference/Global_Objects/Float32Array +--- +<div>{{JSRef}}</div> + +<p>Объект<strong><code> Float32Array</code></strong> представляет типизированный массив 32-битных чисел с плавающей запятой (соответствует типу float в языке C) с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте <a class="new" href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/DataView" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>DataView</code></a>. Содержимое инициализируется значением <code>0</code>. Создав экземпляр <strong><code>Float32Array</code></strong>, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации - квадратные скобки).</p> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox">new Float32Array(); // new in ES2017 +new Float32Array(length); +new Float32Array(typedArray); +new Float32Array(object); +new Float32Array(buffer [, byteOffset [, length]]);</pre> + +<p>Для более подробной информации о синтаксисе конструктора и его параметрах смотрите <em><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax">TypedArray</a></em>.</p> + +<h2 id="Свойства">Свойства</h2> + +<dl> + <dt>{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Float32Array.BYTES_PER_ELEMENT")}}</dt> + <dd>Возвращает число, соответствующее размеру элемента массива в байтах. Для <code>Float32Array</code> это <code>4</code>.</dd> + <dt>Float32Array.length</dt> + <dd>Статическое свойство "длина" со значением 0. Если хотите получить актуальную длину массива (число элементов) используйте {{jsxref("TypedArray.prototype.length", "Float32Array.prototype.length")}}.</dd> + <dt>{{jsxref("TypedArray.name", "Float32Array.name")}}</dt> + <dd>Возвращает строковое представление названия конструктора. В данном случае <code>Float32Array</code> вернёт <code>"Float32Array"</code>.</dd> + <dt>{{jsxref("TypedArray.prototype", "Float32Array.prototype")}}</dt> + <dd>Прототип объекта <code>TypedArray</code>.</dd> +</dl> + +<h2 id="Методы">Методы</h2> + +<dl> + <dt>{{jsxref("TypedArray.from", "Float32Array.from()")}}</dt> + <dd>Создаёт новый <code>Float32Array</code> из массивоподобного или итерируемого объекта. Смотрите также {{jsxref("Array.from()")}}.</dd> + <dt>{{jsxref("TypedArray.of", "Float32Array.of()")}}</dt> + <dd>Создаёт новый <code>Float32Array</code> с заданным числом элементов. Смотрите также {{jsxref("Array.of()")}}.</dd> +</dl> + +<h2 id="Float32Array_prototype"><code>Float32Array</code> prototype</h2> + +<p><code> </code>Любые <code>Float32Array</code> объекты наследуются от {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}.</p> + +<h3 id="Свойства_2">Свойства</h3> + +<dl> + <dt><code>Float32Array.prototype.constructor</code></dt> + <dd>Возвращает функцию, которая создаёт экземпляр прототипа. В данном случае это конструктор <code>Float32Array</code>.</dd> + <dt>{{jsxref("TypedArray.prototype.buffer", "Float32Array.prototype.buffer")}} {{readonlyInline}}</dt> + <dd>Возвращает {{jsxref("ArrayBuffer")}}, на который ссылается <code>Float32Array.</code> Автоматически изменяется при операциях над массивом и поэтому доступен <strong>только для чтения</strong>.</dd> + <dt>{{jsxref("TypedArray.prototype.byteLength", "Float32Array.prototype.byteLength")}} {{readonlyInline}}</dt> + <dd>Возвращает длину в байтах для <code>Float32Array</code> с начала его {{jsxref("ArrayBuffer")}}. Автоматически изменяется при операциях над массивом и поэтому доступен <strong>только для чтения</strong>.</dd> + <dt>{{jsxref("TypedArray.prototype.byteOffset", "Float32Array.prototype.byteOffset")}} {{readonlyInline}}</dt> + <dd>Возвращает смещение (в байтах) <code>Float32Array</code> относительно начала {{jsxref("ArrayBuffer")}}. Автоматически изменяется при операциях над массивом и поэтому доступен <strong>только для чтения</strong>.</dd> + <dt>{{jsxref("TypedArray.prototype.length", "Float32Array.prototype.length")}} {{readonlyInline}}</dt> + <dd>Возвращает число элементов, хранящихся в <code>Float32Array</code>. Автоматически изменяется при операциях над массивом и поэтому доступен <strong>только для чтения</strong>.</dd> +</dl> + +<h3 id="Методы_2">Методы</h3> + +<dl> + <dt>{{jsxref("TypedArray.copyWithin", "Float32Array.prototype.copyWithin()")}}</dt> + <dd>Копирует последовательность элементов в массив. Смотрите также {{jsxref("Array.prototype.copyWithin()")}}.</dd> + <dt>{{jsxref("TypedArray.entries", "Float32Array.prototype.entries()")}}</dt> + <dd>Возвращает новый объект <code>Array Iterator</code>, который содержит пары ключ-значение для каждого элемента в массиве. Смотрите также {{jsxref("Array.prototype.entries()")}}.</dd> + <dt>{{jsxref("TypedArray.every", "Float32Array.prototype.every()")}}</dt> + <dd>Проверяет, что все элементы в массиве соответствуют условию. Смотрите также {{jsxref("Array.prototype.every()")}}.</dd> + <dt>{{jsxref("TypedArray.fill", "Float32Array.prototype.fill()")}}</dt> + <dd>Заполняет весь массив от начального до последнего индекса одинаковыми элементами. Смотрите также {{jsxref("Array.prototype.fill()")}}.</dd> + <dt>{{jsxref("TypedArray.filter", "Float32Array.prototype.filter()")}}</dt> + <dd>Возвращает новый массив со всеми элементами удовлетворяющеми условию. Смотрите также {{jsxref("Array.prototype.filter()")}}.</dd> + <dt>{{jsxref("TypedArray.find", "Float32Array.prototype.find()")}}</dt> + <dd>Возвращает найденное значение в массиве, если найден элемент соответствуший условию, в противном случае возвращает <code>undefined</code>. Смотрите также {{jsxref("Array.prototype.find()")}}.</dd> + <dt>{{jsxref("TypedArray.findIndex", "Float32Array.prototype.findIndex()")}}</dt> + <dd>Возвращает индекс найденного значения в массиве, если найден элемент соответствуеший условию, в противном случае возвращает <font face="Consolas, Liberation Mono, Courier, monospace">-1</font>. Смотрите также {{jsxref("Array.prototype.findIndex()")}}.</dd> + <dt>{{jsxref("TypedArray.forEach", "Float32Array.prototype.forEach()")}}</dt> + <dd>Вызывает функцию для каждого элемента в массиве. Смотрите также {{jsxref("Array.prototype.forEach()")}}.</dd> + <dt>{{jsxref("TypedArray.includes", "Float32Array.prototype.includes()")}} {{experimental_inline}}</dt> + <dd>Проверяет что массив включает себя элемент, возвращает соответственно true или false. Смотрите также {{jsxref("Array.prototype.includes()")}}.</dd> + <dt>{{jsxref("TypedArray.indexOf", "Float32Array.prototype.indexOf()")}}</dt> + <dd>Возвращает индекс элемента соответствующего условию (равен значению), в противном случае возвращает -1. Смотрите также {{jsxref("Array.prototype.indexOf()")}}.</dd> + <dt>{{jsxref("TypedArray.join", "Float32Array.prototype.join()")}}</dt> + <dd>Объединяет элементы массива в строку. Смотрите также {{jsxref("Array.prototype.join()")}}.</dd> + <dt>{{jsxref("TypedArray.keys", "Float32Array.prototype.keys()")}}</dt> + <dd>Возвращает новый <code>Array Iterator,</code> который содержит ключи элементов в массиве. Смотрите также {{jsxref("Array.prototype.keys()")}}.</dd> + <dt>{{jsxref("TypedArray.lastIndexOf", "Float32Array.prototype.lastIndexOf()")}}</dt> + <dd>Возвращает последний найденный индекс соответствующий искомому значению, в противном случае возвращает - 1. Смотрите также {{jsxref("Array.prototype.lastIndexOf()")}}.</dd> + <dt>{{jsxref("TypedArray.map", "Float32Array.prototype.map()")}}</dt> + <dd>Возвращает новый массив с результатом применения функции к каждому элементу в этом массиве. Смотрите также {{jsxref("Array.prototype.map()")}}.</dd> + <dt>{{jsxref("TypedArray.move", "Float32Array.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}</dt> + <dd>Нестандаризированная версия {{jsxref("TypedArray.copyWithin", "Float32Array.prototype.copyWithin()")}}.</dd> + <dt>{{jsxref("TypedArray.reduce", "Float32Array.prototype.reduce()")}}</dt> + <dd>Применяет функцию к каждому элементу в массиве (слева-направо) и накапливает результат в переменной. Смотрите также {{jsxref("Array.prototype.reduce()")}}.</dd> + <dt>{{jsxref("TypedArray.reduceRight", "Float32Array.prototype.reduceRight()")}}</dt> + <dd>Применяет функцию к каждому элементу в массиве (справа-налево) и накапливает результат в переменной. Смотрите также {{jsxref("Array.prototype.reduceRight()")}}.</dd> + <dt>{{jsxref("TypedArray.reverse", "Float32Array.prototype.reverse()")}}</dt> + <dd>Переставляет элементы массива в обратном порядке - первый становится последним и так далее. Смотрите также {{jsxref("Array.prototype.reverse()")}}.</dd> + <dt>{{jsxref("TypedArray.set", "Float32Array.prototype.set()")}}</dt> + <dd>Сохраняет значения в массиве.</dd> + <dt>{{jsxref("TypedArray.slice", "Float32Array.prototype.slice()")}}</dt> + <dd>Выделяет часть массива и возвращает новый с этими значениями. Смотрите также {{jsxref("Array.prototype.slice()")}}.</dd> + <dt>{{jsxref("TypedArray.some", "Float32Array.prototype.some()")}}</dt> + <dd>Возвращает true если хотя бы один элемент удовлетворяет условию. Смотрите также {{jsxref("Array.prototype.some()")}}.</dd> + <dt>{{jsxref("TypedArray.sort", "Float32Array.prototype.sort()")}}</dt> + <dd>Сортирует элементы массива по порядку и возвращает этот массив. Смотрите также {{jsxref("Array.prototype.sort()")}}.</dd> + <dt>{{jsxref("TypedArray.subarray", "Float32Array.prototype.subarray()")}}</dt> + <dd><code>Возваращает новый Float32Array</code> с заданного начального по конечный индекс.</dd> + <dt>{{jsxref("TypedArray.values", "Float32Array.prototype.values()")}}</dt> + <dd>Возвращает новый объект <code>Array Iterator</code> котрый содержит значения всех элементов в массиве. Смотрите также {{jsxref("Array.prototype.values()")}}.</dd> + <dt>{{jsxref("TypedArray.toLocaleString", "Float32Array.prototype.toLocaleString()")}}</dt> + <dd>Возвращает локализированную строку представляющую массив и его элементы. Смотрите также {{jsxref("Array.prototype.toLocaleString()")}}.</dd> + <dt>{{jsxref("TypedArray.toString", "Float32Array.prototype.toString()")}}</dt> + <dd>Возвращает строку представляющую массив и его элементы. Смотрите также {{jsxref("Array.prototype.toString()")}}.</dd> + <dt>{{jsxref("TypedArray.@@iterator", "Float32Array.prototype[@@iterator]()")}}</dt> + <dd><code>Возвращает новый объект Array Iterator который содержит значения всех элементов в массиве.</code></dd> +</dl> + +<h2 id="Примеры">Примеры</h2> + +<p>Разные способы создания <code>Float32Array</code>:</p> + +<pre class="brush: 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); + +<code class="language-js"><span class="comment token">// Из итератора </span> +<span class="keyword token">var</span> iterable <span class="operator token">=</span> <span class="keyword token">function</span><span class="operator token">*</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">{</span> <span class="keyword token">yield</span><span class="operator token">*</span> <span class="punctuation token">[</span><span class="number token">1</span><span class="punctuation token">,</span><span class="number token">2</span><span class="punctuation token">,</span><span class="number token">3</span><span class="punctuation token">]</span><span class="punctuation token">;</span> <span class="punctuation token">}</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="keyword token">var</span> float32 <span class="operator token">=</span> <span class="keyword token">new</span> <span class="class-name token">Float32Array</span><span class="punctuation token">(</span>iterable<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="comment token">// Float32Array[1, 2, 3]</span></code></pre> + + + +<h2 id="Спецификация">Спецификация</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('Typed Array')}}</td> + <td>{{Spec2('Typed Array')}}</td> + <td>Заменены в ECMAScript 6.</td> + </tr> + <tr> + <td>{{SpecName('ES6', '#table-49', 'TypedArray constructors')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Первоначальное появление в стандарте ECMA. Показывает что <code>new обязательно</code>.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td>ECMAScript 2017 changed the <code>Float32Array</code> constructor to use the <code>ToIndex</code> operation and allows constructors with no arguments.</td> + </tr> + </tbody> +</table> + +<h2 id="Браузерная_совместимость">Браузерная совместимость</h2> + + + +<p>{{Compat("javascript.builtins.Float32Array")}}</p> + + + +<h2 id="Заметки_по_совместимости">Заметки по совместимости</h2> + +<p>Начиная с ECMAScript 2015 (ES6), <code>Float32Array</code> конструктор обязательно должен вызываться с ключевым словом {{jsxref("Operators/new", "new")}}. Вызов <code>Float32Array</code> конструктора как функцию приведет к исключению {{jsxref("TypeError")}}.</p> + +<pre class="brush: js example-bad">var dv = Float32Array([1, 2, 3]); +// TypeError: calling a builtin Float32Array constructor +// without new is forbidden</pre> + +<pre class="brush: js example-good">var dv = new Float32Array([1, 2, 3]);</pre> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays" title="en/JavaScript typed arrays">JavaScript typed arrays</a></li> + <li>{{jsxref("ArrayBuffer")}}</li> + <li>{{jsxref("DataView")}}</li> +</ul> |