@pasha_hp

Как найти индексы 2-х элементов, сумма которых равна числу?

Доброго времени суток. Прошу помощи в задании

Написать функцию - которая принимает массив и возвращает пару из их индексов сумма значений которых равна 12
let array2 = [7, 4, 8, 4, 5] => [0, 4], [1, 2], [2, 3]

вот собственно код

const findSum = (arr, val) => {
    for (let i = 0; i < arr.length; i++) {
        for (let j = i; j < arr.length; j++) {
            if (arr[i] + arr[j] === val) {
                return [i,j]
            }
        }
    }
    return false;
};

console.log(findSum([7, 4, 8, 4, 5], 12));


После вызова функции возвращается только первая пара [0, 4], а оставшиеся 2 нет. Как поправить? Спасибо
  • Вопрос задан
  • 521 просмотр
Решения вопроса 1
hzzzzl
@hzzzzl
совсем чуть-чуть не дописал :)

const findSum = (arr, val) => {
    const result = []
    for (let i = 0; i < arr.length; i++) {
        for (let j = i; j < arr.length; j++) {
            if (arr[i] + arr[j] === val) {
                result.push([i,j])
            }
        }
    }
    return result;
};

console.log(findSum([7, 4, 8, 4, 5], 12))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы