2017-10-05 3 views
-6

私は機能JS /関数の外から戻り値の配列にアクセスするには、複数の値が返されますか?

var myDob=prompt('Enter the year of birth') 
 

 
function calcualteMyAge(myDob) 
 
{ 
 
    var d =new Date(); 
 
    
 
    var age=(d.getFullYear())-myDob; 
 
    
 
    
 
    function calculateRange(age) 
 
    { 
 
     
 
        switch(true) 
 
        {  
 
         case (age>=1 && age<= 12): 
 
           var range='Kid'; 
 
           return range; 
 
           break; 
 

 
         case (age>=13 && age<= 19): 
 
           var range='Teenage'; 
 
           return range; 
 
           break; 
 

 
         case (age>=20 && age<= 40): 
 
           var range='Young Adult'; 
 
           return range; 
 
           break; 
 

 
         case (age>=41 && age<= 59): 
 
           var range='Adult'; 
 
           return range; 
 
           break; 
 
         case (age>=60 && age<= 100): 
 
           var range='Seniour Adult'; 
 
           return range; 
 
           break; 
 

 
          default :  
 
           var range='!!?'; 
 
           return Range 
 
           break; 
 
        } 
 

 
    } 
 
    
 
    //Return an array    
 
    
 
    
 
    var ageAndRange = [age, calculateRange(age)]; 
 
    return ageAndRange; 
 
        
 
         
 
} 
 

 
    
 
     var arr=[]; 
 
     arr=calcualteMyAge(myDob); 
 

 
    alert('The age is '+arr[0]); 
 
    alert('Range is '+arr[1]); 
 
    
 

// OUTSIDE関数からの戻り値にアクセス

 var arr=[]; 
    arr=calcualteMyAge(myDob); 

alert('The age is '+arr[0]); 
alert('Range is '+arr[1]); 

THIS外から返された値の配列にアクセスするためにjavascript.Howに新しいです期待されない回答を与えるIS

Nan 

and 

function Range() {[native code]} 

どこが間違っていた!

+1

OKを

のどちらかがそれを伝統的な方法を実行します。あなたの質問は何ですか?あなたのコードにバグはありますか?あなたが理解できないことはありますか?あなたはJS配列にアクセスする方法に精通していますか? – Andy

+0

私はvar a1 [0] = calcualteMyAge(myDob)を使ってアクセスしようとしていました。 var a1 [1] = calcualteMyAge(myDob); – user1254579

+1

コードを書式化して説明を追加してください – demo

答えて

1

配列から要素をキャプチャすることはできません。

var arr = calcualteMyAge(myDob); 
var age = arr[0]; 
var rang = arr[1]; 

それともES6であなたは非構造使用することができます:

const [ age, rang ] = calcualteMyAge(myDob); 
+0

var arr = calcualteMyAge(myDob); プロンプト(arr [0]); プロンプト(arr [1]); はコード外にコードを追加しました – user1254579

+0

それは動作しません。 – user1254579

+1

'prompt'の代わりに' alert'か 'console.log'を試してください。また、コメントの中で指摘されているように、コードの残りの部分に問題があるかもしれません。この答えは、返された配列から要素にアクセスする方法を示しています。これはあなたが尋ねた質問です。 – Andy

関連する問題