gpt4 book ai didi

javascript - 在createScript错误时获取意外标识符

转载 作者:行者123 更新时间:2023-12-03 08:47:34 24 4
gpt4 key购买 nike

为什么我收到此代码错误?我要做的就是返回一个包含参数倍数的数组。

function multiplyByTwo(a,b,c){
//we have two variables i and ar which is an array
var i,ar=[];
//for loop cycles through 0-2 and multiplies each by two
for(int i=0;i<3;i++){
// arguments[3] // Takes the arguem Follows array indexing notations.
//at i=0, ar[0]=arguments[0]*2, arguments[0]=a*2
//at i=1, ar[1]=arguments[1]*2, arguments[1]=b*2
//at i=2, ar[2]=arguments[2]*2, arguments[2]=c*2
ar[i]=arguments[i]*2;
}
return ar;
}

var result=multiplyByTwo(1,2,3);



Error: SyntaxError: Unexpected identifier
at createScript (vm.js:53:10)
at Object.runInThisContext (vm.js:95:10)

最佳答案

就像人们在评论中所说的那样,导致错误的主要原因是int中没有JS。重构代码有一些改进/建议,如下所示:

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)

关于javascript - 在createScript错误时获取意外标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50500240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com