JavaScript

Что делает этот код на JS?

Мне не понятны 2 последние строки. И не понятно каким образом массив возвращается
Функция getSize возвращает массив из двух элементов. И к элементам массива мы и обращаемся посредством [0] и [1]. Чтобы обратиться к элементу массива, его не надо присваивать переменной.

Но то, как это сделано в данном конкретном коде - говнокод: два раза вызывать функцию
В современном JS это делается так:
 let [areaOne, volumeOne] = getSize(3, 2, 3); 
Значения массива сразу раскидываются по двум создаваемым переменным.
Giyos Olimov
Giyos Olimov
70 363
Лучший ответ
Подъсчитывает объем чего-то трехмерного и площадь его стороны
Последние строки - вывод первого (площадь) и второго (объем) значения из массива который функция возвращает
Михаил Федюнин
Михаил Федюнин
51 666
Даниял Яралиев вот интересно как массив вовзвращается. Может возвращается указатель на массив?
Функция возвращает массив
Для получения элемента массива используется форма массив[индекс]
Даниял Яралиев а как массив возвращается? может указатель на массив?)
Считает объем и площадь возвращает сразу оба значения массивом (одно очевидно лишнее)
Две последние строки дёргают эту функцию и избавляются от второго лишнего значения но каждый раз разного и т е в итоге получается что сначала узнали площадь потом объем но считать оба значения в одной функции обычно ресурсозатратно так как как одно из значений потом выбрасывается, а функция может вызываться в цикле, тогда лишняя силесекунда умножается на количество итераций и дай бог чтобы из оказалось не миллиард )
П с как обратитя к рантайм массиву ? Так же как к обычному по индекс,у указав номер элемента который нужен, в квадратных скобках справа от выражения которое указывает на массив.
Так в третьей строке объявляется массив и инициализируется значениями переменных area и volume именно этот и массив возвращается. Для краткости можно было просто написать return [area, volume];
Даниял Яралиев Мне не понятны 2 последние строки. Там в конце квадратные скобки в них.
Даниял Яралиев после функции
Функция getSize возращает массив из двух элементов, в первом размер площади, во втором площадь куба.

[0] - обращение к первому элемену в массиве, [1] - обращение ко второму элементу в массиве.

я бы написал эту функцию так:
 const getSize = (x, y, z = 1) => { 
if (x > 0 && y > 0 && z >= 0)
return x * y * z;
return NaN;
};
 getSize(2,2); // 2 стороны
getSize(2,2,2); // 3 стороны