Answer
t.me/js_testОтвет:
function findEvenIndex(arr) {
const sum = (arr) => arr.reduce((a, v) => a + v, 0);
for (let i = 1; i < arr.length; i++) {
if (sum(arr.slice(0, i)) === sum(arr.slice(i + 1))) {
return i;
}
}
return -1;
}
Объяснение:
Для начала напишем маленькую функцию sum, которая принимает массив и возвращает сумму всех его элементов с помощью метода reduce. Далее в цикле for идём по массиву и на каждом элементе смотри сумму слева и справа с помощью нашей функции sum и метода slice, если сумма равна то возвращаем индекс (i). А если цикл закончился и ничего не вернулось то возвращаем -1.
Код для проверки:
function findEvenIndex(arr) {
const sum = (arr) => arr.reduce((a, v) => a + v, 0);
for (let i = 1; i < arr.length; i++) {
if (sum(arr.slice(0, i)) === sum(arr.slice(i + 1))) {
return i;
}
}
return -1;
}
console.log(findEvenIndex([1, 2, 3, 4, 3, 2, 1]));
console.log(findEvenIndex([1, 100, 50, -51, 1, 1]));
console.log(findEvenIndex([1, 2, 3, 4, 5, 6]));