這似乎是一個非常簡單的問題,但我找不到任何人談到它。在下面的代碼函數返回兩個數字,將其保存到變量
function add(x,y) {
return (x+7, y+4);
}
let rew= add(1,1);
console.log(rew);
它說rew等於五。我知道我們需要保存兩個值,而且rew不是一個數組,但我嘗試將結果推送到一個數組中,這也不起作用。有沒有一種方法可以將這兩個數字都保存到變量中,以便能夠操作它們,然後將它們添加到一起?
這似乎是一個非常簡單的問題,但我找不到任何人談到它。在下面的代碼函數返回兩個數字,將其保存到變量
function add(x,y) {
return (x+7, y+4);
}
let rew= add(1,1);
console.log(rew);
它說rew等於五。我知道我們需要保存兩個值,而且rew不是一個數組,但我嘗試將結果推送到一個數組中,這也不起作用。有沒有一種方法可以將這兩個數字都保存到變量中,以便能夠操作它們,然後將它們添加到一起?
JavaScript沒有這樣的語法(它看起來像你試圖做C#7的元組)。由於逗號運算符,您將得到5
的結果。對數組結果使用方括號。
function add(x,y) {
return [x+7, y+4];
}
let rew= add(1,1);
console.log(rew);
您可以在一個數組中返回2倍的值,然後得到任何你想要使用的2號的數組元素:
function add(x,y) {
return [x+7, y+4];
}
let rew= add(1,1);
console.log(rew);
代碼打印數組[ 8,5]在控制檯上
要返回多個值,必須使用集合(數組或對象),但可以使用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);
提示:'回報3,2,1' - 返回1 ......因爲'逗號operator' - 也'返回(3,2,1)'與返回3,2,1'相同' –
謝謝,真的很有幫助 –