Вычислить сумму массивов и вернуть сумму в квадрате
В этой задаче два массива случайной длины, заполненные случайными числами, передаются нашей функции 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); } } и ещё миллиард решений и всё не так( помогите, пожалуйста! |
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]) ); |
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); |
спасибо большое, да! всё вышло):)
|
да, поняла в чём ошиблась, спасибо за помощь!)
|
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 Вариант :) |
Часовой пояс GMT +3, время: 08:49. |