Escribí este código para encontrar dos números cuando se agregan para dar un número objetivo. Ya resolví este ejercicio, pero quiero hacer con esta forma anterior en la declaración if no devolvió verdadero y no sé por qué.

function add(arr , target){
    let result = [];
    arr.map ( (item) => {
        const num1 = target - item;
        if (arr.includes(num1)) {
            return result.concat(num1 , item);
        }
        else {
            return "Unfortunaly there isnt answer";
        }
    });
}

add([3,4,5,6,10] , 16);
0
Onur Hangul 4 oct. 2019 a las 12:54

1 respuesta

La mejor respuesta
function add(arr , target){
    let result = [];
    for (let item of arr){
        const num1 = target - item;
        if (arr.includes(num1)) {
            return result.concat(num1 , item);
        }
    };
    return "Unfortunately there is no answer";
}

const result = add([3,4,5,6,10] , 16);

// will print [10, 6]
console.log(result)
2
Ricardo Araújo 4 oct. 2019 a las 17:22