<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://docs.gtlab.pro/index.php?action=history&amp;feed=atom&amp;title=Gtld_aggregateAverage</id>
	<title>Gtld aggregateAverage - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://docs.gtlab.pro/index.php?action=history&amp;feed=atom&amp;title=Gtld_aggregateAverage"/>
	<link rel="alternate" type="text/html" href="http://docs.gtlab.pro/index.php?title=Gtld_aggregateAverage&amp;action=history"/>
	<updated>2026-07-26T03:47:23Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://docs.gtlab.pro/index.php?title=Gtld_aggregateAverage&amp;diff=1370&amp;oldid=prev</id>
		<title>AlekseyCube: Новая страница: «== Краткое описание == Функция предназначена аггрегации массива данных. Функция возвращает массив с указанным количеством элементов. Данная функция используется для уменьшения количества элементов массива путем усреднения данных по группам.    &lt;p style=&quot;col...»</title>
		<link rel="alternate" type="text/html" href="http://docs.gtlab.pro/index.php?title=Gtld_aggregateAverage&amp;diff=1370&amp;oldid=prev"/>
		<updated>2026-07-24T07:29:03Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «== Краткое описание == Функция предназначена аггрегации массива данных. Функция возвращает массив с указанным количеством элементов. Данная функция используется для уменьшения количества элементов массива путем усреднения данных по группам.    &amp;lt;p style=&amp;quot;col...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Функция предназначена аггрегации массива данных. Функция возвращает массив с указанным количеством элементов. Данная функция используется для уменьшения количества элементов массива путем усреднения данных по группам.   &lt;br /&gt;
&amp;lt;p style=&amp;quot;color: red&amp;gt;Cодержание функции может дополняться!&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
Стандартная конструкция выглядит таким образом:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: purple&amp;gt;&lt;br /&gt;
let __aggr = aggregateAverage(array, M);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Аргументы ==&lt;br /&gt;
:&amp;lt;code style=&amp;quot;color: purple&amp;gt;array&amp;lt;/code&amp;gt; - исходный массив данных;&lt;br /&gt;
:&amp;lt;code style=&amp;quot;color: purple&amp;gt;M&amp;lt;/code&amp;gt; - длина целевого массива;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Содержание функции ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function aggregateAverage(arr, M) {&lt;br /&gt;
	//Функция для уменьшения элементов исходного массива методом агрегации (среднее по группам)&lt;br /&gt;
	//arr - исходный массив данных&lt;br /&gt;
	//M - длина целевого массива данных&lt;br /&gt;
	const result = []; //массив для результата&lt;br /&gt;
	const N = arr.length; //длина исходного НЧ массива&lt;br /&gt;
	if (M &amp;lt;= 0 || N === 0) return []; //если целевой массив пустой, то возвращаем пустой&lt;br /&gt;
	if (M &amp;gt;= N) return arr.slice(); //если размер целевого &amp;gt;= исходного, то возвращаем копию исходного&lt;br /&gt;
&lt;br /&gt;
	//Разбиваем массив на M групп с примерно равным количеством элементов&lt;br /&gt;
	for (let i = 0; i &amp;lt; M; i++) {&lt;br /&gt;
		const start = Math.floor(i * N / M); //стартовый индекс группы&lt;br /&gt;
		const end = Math.floor((i + 1) * N / M); //конечный индекс группы&lt;br /&gt;
&lt;br /&gt;
		const group = arr.slice(start, end); //вырезаем группу&lt;br /&gt;
		const avg = group.reduce((a, b) =&amp;gt; a + b, 0) / group.length; //считаем среднее в группе&lt;br /&gt;
		result.push(avg);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return result;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AlekseyCube</name></author>
	</entry>
</feed>