Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2019, 07:09
Новичок на форуме
Отправить личное сообщение для Ksenia1970 Посмотреть профиль Найти все сообщения от Ksenia1970
 
Регистрация: 04.07.2019
Сообщений: 3

Вычислить сумму массивов и вернуть сумму в квадрате
В этой задаче два массива случайной длины, заполненные случайными числами, передаются нашей функции testArray. Вам нужно вычислить сумму всех элементов обоих массивов и вернуть ее в квадрате из функции. Пример ввода : [3, 6, 8, 6, 3, 1, 1, 8] [8, 7, 4, 1, 6, 3]
Пример вывода : 4225

1. function testArray(a, b) {
var testArray=a.concat(b);
var x;
for (x= 0; x< testArray.length; x++){
(туплю и не понимаю как дальше двигаться)};
}

2.function testArray(a, b) {
var sum = 0;
for (var i = 0; i < a.length; i++)
{
sum += a[i];
}
for (var i = 0; i < b.length; i++)
{
sum += b[i];
}
return(sum*sum);
}
}

3.function testArray(a, b) {
var x;
for (var i=0;i<=a.length;i++)
{
x+= a[i];
}
var y;
for (var j=0;j<=b.length;j++)
{
y+= b[j];
}
var k;
k=x+y;
return(k*k);
}
}


и ещё миллиард решений и всё не так( помогите, пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2019, 07:30
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var fn=(...arg)=>[].concat(...arg).reduce((s, el) => s + el)**2;
console.log( fn([1,2],[2,1]) );
console.log( fn([1,2],[2,1],[2,1,5,6,7]) );
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2019, 07:48
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Ksenia1970, у вас второй вариант работает, только там скобка лишняя была в конце функции...
function testArray(a, b) {
	var sum = 0;
	for (var i = 0; i < a.length; i++) {
		sum += a[i];
	}
	for (var i = 0; i < b.length; i++) {
		sum += b[i];
	}
	return sum * sum;
}

/* пример */
var sum = testArray([3, 6, 8, 6, 3, 1, 1, 8], [8, 7, 4, 1, 6, 3]);
alert(sum);


А в третьем варианте вы забыли назначить начальное число переменным x и y. И также у вас была ошибка в условии цикла. Сравните...

function testArray(a, b) {
	var x = 0;
	for (var i = 0; i < a.length; i++) {
		x += a[i];
	}
	var y = 0;
	for (var j = 0; j < b.length; j++) {
		y += b[j];
	}
	var k = x + y;
	return k * k;
}

/* пример */
var sum = testArray([3, 6, 8, 6, 3, 1, 1, 8], [8, 7, 4, 1, 6, 3]);
alert(sum);

Последний раз редактировалось Malleys, 04.07.2019 в 07:53. Причина: Добавил про третий пример
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2019, 07:54
Новичок на форуме
Отправить личное сообщение для Ksenia1970 Посмотреть профиль Найти все сообщения от Ksenia1970
 
Регистрация: 04.07.2019
Сообщений: 3

спасибо большое, да! всё вышло)
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2019, 08:05
Новичок на форуме
Отправить личное сообщение для Ksenia1970 Посмотреть профиль Найти все сообщения от Ksenia1970
 
Регистрация: 04.07.2019
Сообщений: 3

да, поняла в чём ошиблась, спасибо за помощь!)
Ответить с цитированием
  #6 (permalink)  
Старый 04.07.2019, 13:21
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

const testArray = (...arg) => Math.pow(arg.flat().reduce((s, el) => s + el), 2);
let sum = testArray([3, 6, 8, 6, 3, 1, 1, 8], [8, 7, 4, 1, 6, 3]);
alert(sum); // 4225

Вариант
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму элементов больших, чем введённое значение marc Общие вопросы Javascript 10 02.12.2017 02:10
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26