2016-07-22 5 views
1
var arr = [{ 
    value: 'a' 
}]; 
var getTest = function() { 
    jQuery.each(arr, function(i, val) { 

     if (val.value == "a") { 
      return val; 
     } 
    }); 
} 

alert(getTest().value); 

jquery-3.1.0.js:3793 Uncaught TypeError: Cannot read property 'value' of undefinedjQuery.Deferred例外は:

答えて

1
var arr = [{ 
    value: 'a' 
}]; 
var getTest = function() { 
    var toRet; 
    jQuery.each(arr, function(i, val) { 
     if (val.value == "a") { 
      toRet = val; 
     } 
    }); 
    return toRet; 
} 

alert(getTest().value); 

JQueary.eachは実際には関数であり、あなたはあなたの関数getTest()に存在しない値を返すされているプロパティ読み取ることができません。これが解決策です。

+0

ありがとうございます!とても良い!!! –