Javascript 未定义为输出。这个代码出了什么问题?
这里的arr是数组目标是任何数字。我想返回arr的两个数字。这些数字的和等于目标中存储的值Javascript 未定义为输出。这个代码出了什么问题?,javascript,Javascript,这里的arr是数组目标是任何数字。我想返回arr的两个数字。这些数字的和等于目标中存储的值 function twoSum(arr, target) { var x= arr.forEach(e=>{ return arr.forEach(num=>{ if((e+num)===target){ return [e,num]; } }) }) retur
function twoSum(arr, target) {
var x= arr.forEach(e=>{
return arr.forEach(num=>{
if((e+num)===target){
return [e,num];
}
})
})
return x;
}
问题在于forEach内部的return语句。forEach中的return语句的作用类似于break并停止进一步的迭代。用于循环instead@BeshambherChaukhwan
forEach
中的return
语句在这里什么也不做。它在第一次迭代时不会返回some数组或null吗?与第0个索引一样,第一个返回将返回内部foreach结果,即数组或null,然后向上填充到外部foreach@BeshambherChaukhwan“它在第一次迭代时不会返回some数组或null吗?”1。如果第一次迭代2,它将不会进入内部forEach
本身根本不返回任何内容。它总是生成undefined
,并忽略回调的返回值代码>和非中断代码>是的,在这种情况下你是正确的。这里什么也没做