2017-03-29 10 views
0

なぜ出力が「未定義」なのか分かりませんか?Array.prototypeメソッドが 'undefined'の出力をJavaで出力する

JSON.stringify(a.maxKey()) 

出力が上記のように使用されても依然として同じです。

 Array.prototype.maxKey = function(){ 
 
     Math.max.apply(Math, 
 
      this.map(
 
      function(item){ 
 
       return item.key} 
 
      ) 
 
     ) 
 
     } 
 

 
     var a = [{key:1}, {key:2}] 
 
     alert(a.maxKey())

+1

問題は 'undefined'を返し、あなたの' maxKey'方法ではなく、 'JSON.stringify' – jcaron

答えて

0

あなたはreturnキーワードを欠場。

Array.prototype.maxKey = function() { 
 
    return Math.max.apply(Math, this.map(item => item.key)); 
 
} 
 

 
var a = [{ key: 1}, { key: 2}]; 
 
console.log(a.maxKey())

+1

はありがとうございました。新人になるのは難しいです! – Michael43

+0

@ Michael43それはすべての良い、幸運です。 –