2017-06-29 42 views
0

這似乎是一個非常簡單的問題,但我找不到任何人談到它。在下面的代碼函數返回兩個數字,將其保存到變量

function add(x,y) { 
    return (x+7, y+4); 

} 
let rew= add(1,1); 

console.log(rew); 

它說rew等於五。我知道我們需要保存兩個值,而且rew不是一個數組,但我嘗試將結果推送到一個數組中,這也不起作用。有沒有一種方法可以將這兩個數字都保存到變量中,以便能夠操作它們,然後將它們添加到一起?

+0

提示:'回報3,2,1' - 返回1 ......因爲'逗號operator' - 也'返回(3,2,1)'與返回3,2,1'相同' –

+0

謝謝,真的很有幫助 –

回答

2

JavaScript沒有這樣的語法(它看起來像你試圖做C#7的元組)。由於逗號運算符,您將得到5的結果。對數組結果使用方括號。

function add(x,y) { 
 
    return [x+7, y+4]; 
 

 
} 
 
let rew= add(1,1); 
 

 
console.log(rew);

+0

當您嘗試運行代碼段時,您是否收到Service Unavailable? – Barmar

+2

@Barmar一直在某些廣告上看到了來自nginx的502's,可能在某處存在問題... –

+0

@Barmar我在所有片段中看到了最後15分鐘:(服務器用於運行代碼片段但出現此問題解決方案很有效+1。良好的答案。 – NewToJS

0

您可以在一個數組中返回2倍的值,然後得到任何你想要使用的2號的數組元素:

function add(x,y) { 
    return [x+7, y+4]; 

} 
let rew= add(1,1); 

console.log(rew); 

代碼打印數組[ 8,5]在控制檯上

0

要返回多個值,必須使用集合(數組或對象),但可以使用destructuring assignment直接指定爲2個或多個變量:

function add(x,y) { 
 
    return [x+7, y+4]; 
 
} 
 

 
const [a, b] = add(1,1); 
 

 
console.log('a: ', a); 
 
console.log('b: ', b);