Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Объект с функциями. Решение задачи. (https://javascript.ru/forum/misc/83266-obekt-s-funkciyami-reshenie-zadachi.html)

Gm5 03.11.2021 12:54

Объект с функциями. Решение задачи.
 
Помогите решить поставленную задачу. Вот условие:
Сделайте объект с тремя функциями, каждая из которых будет принимать параметром массив с числами. Сделайте так, чтобы первая функция возвращала сумму элементов массива, вторая функция - сумму квадратов, а третья - сумму кубов.

Моё решение:
let math = {
 sum:function (arr) {return sum += elem},
 square:function (arr) {return elem * elem},
 cube:function (arr) {return elem * elem * elem},
};
let arr=[1,2,3,4,5];
for( let elem of arr){
	arr[elem];
}
alert(math.sum([1,2,3,4,5]));
alert(math.square([1,2,3,4,5]));
alert(math.cube([1,2,3,4,5]));

Что-то я не так делаю!

рони 03.11.2021 13:29

Gm5,
строка 2 медитировать тут reduce/reduceRight

ksa 03.11.2021 14:28

Цитата:

Сообщение от Gm5
Что-то я не так делаю!

Эта "программа" - просто результат случайной генерации английских слов.
Она даже не запустится.
Сразу вылетит по ошибке.

GuardCat 09.11.2021 10:29

Найдите 10 отличий.
const math = {

	sum: (arr) => {
		return arr.reduce( (res, el) => {
			return res += el;
		}, 0 );
	},

	square: (arr) => {
		return arr.reduce( (res, el) => {
			return res += el * el;
		}, 0 );
	}, 

	cube: (arr) => {
		return arr.reduce( (res, el) => {
			return res += el ** 3;
		}, 0 );
	}, 
	
}

alert( math.sum([1,2,3,4,5]) );
alert( math.square([1,2,3,4,5]) );
alert( math.cube([1,2,3,4,5]) );


Часовой пояс GMT +3, время: 06:46.