Javascript 当添加两个数字以给出目标数字时,查找两个数字

Javascript 当添加两个数字以给出目标数字时,查找两个数字,javascript,ecmascript-2016,Javascript,Ecmascript 2016,我写这段代码是为了在添加时找到两个数字,并给出一个目标数字。 我已经解决了这个练习,但我想用上面的方法来做 在if语句中,没有返回true,我不知道为什么 function add(arr , target){ let result = []; arr.map ( (item) => { const num1 = target - item; if (arr.includes(num1)) { return resul

我写这段代码是为了在添加时找到两个数字,并给出一个目标数字。 我已经解决了这个练习,但我想用上面的方法来做 在if语句中,没有返回true,我不知道为什么

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);
功能添加(arr,目标){
让结果=[];
用于(arr的let项目){
常量num1=目标-项目;
如果(包括(num1)){
返回结果concat(num1,项);
}
};
返回“遗憾的是没有答案”;
}
常数结果=相加([3,4,5,6,10],16);
//将打印[10,6]
console.log(结果)
功能添加(arr,目标){
让结果=[];
用于(arr的let项目){
常量num1=目标-项目;
如果(包括(num1)){
返回结果concat(num1,项);
}
};
返回“遗憾的是没有答案”;
}
常数结果=相加([3,4,5,6,10],16);
//将打印[10,6]
console.log(结果)

是否要在数组中查找任意两个数字,当添加这些数字时,会给出目标数字?我说的对吗?预期产出?你说得对吗@N.Djokicand应该返回[10,6]@user863你想在数组中找到任何两个数字,当它们相加时,给出目标数字吗?我说的对吗?预期产出?你说得对吗@N.Djokicand应该返回[10,6]@user863您的答案是正确的(提问者错误地使用了map方法,您已正确地将其更改为for循环),但是我认为您还需要一些解释。@eutransmith是的,它是。。。但是为什么你要用循环的形式。。。所有其他的都是相同的
map
for
不一样。我建议你去看看这本书。我上面的观点是对里卡多的,因为他已经提供了你的答案,他应该试着提供一些解释。@eutransmish你是对的,我应该提供更多的信息。希望mdn文档有足够的信息来澄清Onur Hangul,如果不告诉我,我会用代码示例提供一些解释。您的答案是正确的(提问者错误地使用了map方法,您已正确地将其更改为for循环),但我认为您还需要一些解释。@Eupansith是的,它是。。。但是为什么你要用循环的形式。。。所有其他的都是相同的
map
for
不一样。我建议你去看看这本书。我上面的观点是对里卡多的,因为他已经提供了你的答案,他应该试着提供一些解释。@eutransmish你是对的,我应该提供更多的信息。希望mdn文档有足够的信息来澄清Onur韩文,如果没有,请告诉我,我将用代码示例提供一些解释。