Не понимаю, почему когда я вызываю функцию в данном случае, то получаю undefined
. Функция получает массив и выводит индекс того элемента, у которого сумма элементов слева от него равна сумме элементов справа. В данном случае должно выводить 3.
function findEvenIndex(arr) {
let leftPart;
let rightPart;
function multi(multiArr) {
let result = 0;
multiArr.forEach(function(item) {
result += item;
});
return result;
}
arr.forEach(function(item, i) {
if (i < 1) {
leftPart = [];
} else if (i === 1) {
leftPart = [];
leftPart.push(arr[0]);
} else if (i > 1) leftPart = arr.slice(0, i);
rightPart = arr.slice(i + 1, arr.length);
if (multi(leftPart) === multi(rightPart)) {
return i;
} else return -1;
});
}
console.log(findEvenIndex([1, 2, 3, 4, 3, 2, 1]));
Чуть-чуть подшаманил :
function findEvenIndex(arr) {
let leftPart = [],
rightPart,
// обьявили переменную, в которую будем записывать результат
// сразу дадим ей значение -1 (ничего не нашли)
res = -1
const multi = arr => arr.reduce((a, v) => a += v, 0)
arr.forEach((item, i) => {
if (i === 1)
leftPart.push(arr[0])
else if (i > 1)
leftPart = arr.slice(0, i)
rightPart = arr.slice(i + 1, arr.length)
if (multi(leftPart) === multi(rightPart))
// в нужный момент в переменную результата присваиваем реальный результат
res = i
})
// уже после цикла делаем возврат результата с функции
return res
}
console.log(findEvenIndex([1, 2, 3, 4, 3, 2, 1]))
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите как устранить глюк у выдвижного меню? Как только загрузился сайт и ты первый раз тапаешь по иконке, она как-то прерывисто раздвигает...
Есть тег audio на страницеМожно ли при загрузке страницы получить в js перемену длительность аудио до нажатий на кнопку play
Мне надо, чтобы, когда шарик попадёт внутрь квадрата, он двигался внутри, постоянно отскакивая от стен квадратаВот набросок моего кода: