我有一個函數,rangeInclusive
,其接受兩個ARGS:傳遞兩個值的函數,而不調用另一個函數兩次
function rangeInclusive(start, end) {
...
}
爲了計算start
和end
值I都另一個函數調用getValidYearRange
:
getValidYearRange() {
let validRange = [];
if (myCondition === 'foo') {
validRange = [this.calculateValidYear1(), this.calculateValidYear2()];
} else {
validRange = [1900, 2017];
}
return validRange;
}
正如你所看到的,我有一個條件集來決定範圍是我的硬編碼值,還是調用另外兩個函數來獲取更多信息。
但是我得到以下問題,rangeInclusive
似乎得到的參數作爲數組和不確定的,如:
start = [1900, 2017], end = undefined
而不是: start = 1900, end = 2017
我不能改變rangeInclusive
可言,因爲它是在整個項目中使用。
如何在不調用函數兩次的情況下返回start
和end
的兩個值?
您不能返回多個值。你需要改變你如何調用'rangeInclusive',例如'rangeInclusive(returnVal)'do'rangeInclusive(... returnVal)' –
你不能這樣做:'rangeInclusive(validRange [0],validRange [1]) {/ *做些什麼* /}'或'rangeInclusive(... validRange){/ *做些什麼* /}' –
我看不到rangeInclusive被調用的那一行,這就是你可以改變的地方。請顯示更多你的代碼。 – Robert