Возможно, вы не сможете реализовать его таким образом, если у вас уже есть код, зависящий от этой функции. Тем не менее, возможно, было бы чище позволить вашей функции принимать переменное число аргументов с параметрами покоя .
Это означает, что вы можете вызвать функцию как names('Homer')
или names('Bart', 'Lisa')
:
function names(...args){
return args.map(name => name.toUpperCase());
}
console.log(names('Bart', 'Lisa')); // [ 'BART', 'LISA' ]
console.log(names('Homer')); // ['HOMER']
Если вы действительно хотите вызывать функцию с массивом в качестве аргумента, вы можете использовать синтаксис :
console.log(names(...['Bart', 'Lisa'])); // [ "BART", "LISA" ]
Если вы используете его со строкой, вы получите массив символов, однако:
console.log(names(...'Homer')); // [ "H", "O", "M", "E", "R" ]