2016-08-04 8 views
-1
function hellofunction(arrObj, val){ 
    $.each(arrObj,function(k,v){ 
     if(arrObj[k]["EMP_NO"] == val){ 
      return arrObj[k]["EMP_NAME"]; 
     } 
    }); 
} 

// Call function 
var kaka = hellofunction(data["OUT_REC"], "roth_kakvey"); 

console.log("=====:"+kaka); 

出力= "underfine"は、JavaScriptの各ループに

を破るなぜそれは常に出力= "Underfine"、私を助けてください?だから、これを行うに

+0

は 'hellofunction'は' –

+2

undefined'復帰し、それは 'underfine'を返すdoes notのかなり確信してイムと同じであるもの...を返しません。.. 。^^ –

+0

'hellofunction'は何も返しません。 'each'から脱出するには、' return false;を使用する。変数に値を代入し、 'each'の外部から変数を返す**コード:**' function hellofunction(arrObj、val){ var value ; $ .each(arrObj、関数(K、V){ IF(arrObj [K] [ "EMP_NO"] ==ヴァル){ 値= arrObj [K] [ "EMP_NAME"]; 戻り偽; } }); 戻り値。 } ' – Tushar

答えて

1
$.each(arrObj,function(k,v){ 
     if(arrObj[k]["EMP_NO"] == val){ 
      return arrObj[k]["EMP_NAME"]; 
      // does not return from the hellofunction. 
      // Instead it returns from the function(k,v) i.e. the callback to each 
     } 
    }); 

function hellofunction(arrObj, val){ 
    var empName; 
    $.each(arrObj,function(k,v){ 
     if(arrObj[k]["EMP_NO"] == val){ 
      empName = arrObj[k]["EMP_NAME"]; 
      return false; //returning from callback, works like break statement 
     } 
    }); 
    return empName; 
} 
関連する問題