Как отмечают люди в комментариях, основная причина ошибки заключается в том, что в JS
нет int
.Есть несколько улучшений / предложений по рефакторингу вашего кода, как показано ниже:
function multiplyByTwo(...args){
var i,ar=[];
for(let i=0;i<arguments.length;i++){
ar[i]=arguments[i]*2;
}
return ar;
}
var result=multiplyByTwo(1,2,3,4);
Во-первых, метод multiplyByTwo(...args)
.Использование Spread syntax
делает вашу функцию получающей динамическое число параметров вместо жесткого кодирования до 3 фиксированной длины, что улучшает масштабируемость вашей функции.
Поскольку вы используете ключевые слова arguments
, чтобы поддерживать их согласованность, а незацикливаясь ровно 3 раза, замените его на arguments.length
вместо него, и оно будет дополнять ...args
, как было предложено ранее.Конечно, есть другой, еще более простой и короткий синтаксис для достижения того, что вы делаете, как показано ниже
function multiplyByTwo(...args){
return [...args].map(x => x * 2);
}
var result=multiplyByTwo(1,2,3,4);
console.log(result)