在JavaScript中,現在是很容易使一個函數接受可變數量的參數:製作功能同時接受可變數量的參數,或值陣列
function doSomething(...args) {
args.forEach(arg => console.log(arg));
}
現在,它可以被稱爲像doSomething(1, 2, 3)
和所有參數將作爲數組args
在函數內部提供。輸出將是:
1
2
3
現在我想調用的函數,通過所有值在一個陣列中,像這樣:
const arr = [1, 2, 3];
doSomething(arr);
,並有同樣的結果。要做到這一點,我必須使用lodash's _.flatten
裏面的函數:
doSomething(...args) {
args = _.flatten(args);
...
}
有沒有更好的辦法來修改我的函數來做到這一點?
我不需要任何解決,我已經有一個。我需要很好的解決方案來完成我所需要的工作,但是沒有像Lodash這樣的第三方庫,並且仍然很優雅。我問是因爲好奇,而不是因爲我不知道該怎麼做,在所有:-)
如果您知道它是一個數組,使用'doSomething(... arr)'。 – str
@str,這是一個有用的提示,但不完全是我所需要的。 –
你可以使用默認參數https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments –