Javascript I';我试图从ES类参数创建数组,但我';我得到一个空数组,为什么?

Javascript I';我试图从ES类参数创建数组,但我';我得到一个空数组,为什么?,javascript,arrays,class,args,Javascript,Arrays,Class,Args,在这个ES类中创建一个值为“sideLength”的数组和“sides”次的数组的场景中,请考虑这段代码,但我一直得到一个空数组!!这是代码笔 类ShapeNew{ 构造函数(名称、边、边长){ this.name=名称; 这个边=边; this.sideLength=侧长; } tryArray(){ 设边_数组=[]; for(设i=0;i总和+累计)); } } 让new_square=new ShapeNew(“square”,4,5); new_square.newpermiture(

在这个ES类中创建一个值为“sideLength”的数组和“sides”次的数组的场景中,请考虑这段代码,但我一直得到一个空数组!!这是代码笔

类ShapeNew{
构造函数(名称、边、边长){
this.name=名称;
这个边=边;
this.sideLength=侧长;
}
tryArray(){
设边_数组=[];
for(设i=0;i总和+累计));
}
}
让new_square=new ShapeNew(“square”,4,5);
new_square.newpermiture();
我要做的就是把4转换成[5,5,5,5],我该怎么做

提前感谢您的关注,我很感激:)

您想要这个吗

sides_array.push(this.sideLength);
不是这个

sides_array = sides_array.push(this.sideLength);
因为
Array.push()
不返回任何内容。

您想要这个吗

sides_array.push(this.sideLength);
不是这个

sides_array = sides_array.push(this.sideLength);

因为
Array.push()
不返回任何内容。

您正在为变量
sides\u Array
分配推送新元素的返回值,即新长度,而不是每次推送该元素

类ShapeNew{
构造函数(名称、边、边长){
this.name=名称;
这个边=边;
this.sideLength=侧长;
}
tryArray(){
设边_数组=[];
for(设i=0;i总和+累计));
}
}
让new_square=new ShapeNew(“square”,4,5);

new_square.newpermiture()
您正在为变量
sides\u array
分配推送新元素的返回值,即新长度,而不是每次只推送该元素

类ShapeNew{
构造函数(名称、边、边长){
this.name=名称;
这个边=边;
this.sideLength=侧长;
}
tryArray(){
设边_数组=[];
for(设i=0;i总和+累计));
}
}
让new_square=new ShapeNew(“square”,4,5);

new_square.newpermiture()
sides\u array.push(此.sideslength)
而不是在每一轮重新定义数组。@Teemu这很容易,谢谢:)它可以改进吗,比如,不使用局部变量而不是args
将在没有任何变量的情况下完成此任务。@abppy方法
tryArray()
的用途是什么?它只返回一个新的数组,数组的边数与数组的边数相同length@Teemu是的,但是为什么你要把物品的数量硬编码为4?它应该是动态的
sides\u array.push(this.sideslength)
而不是在每一轮重新定义数组。@Teemu这很容易,谢谢:)它可以改进吗,比如,不使用局部变量而不是args将在没有任何变量的情况下完成此任务。@abppy方法
tryArray()
的用途是什么?它只返回一个新的数组,数组的边数与数组的边数相同length@Teemu是的,但是为什么你要把物品的数量硬编码为4?它应该是动态的,因为Array.push()不返回任何内容。不完全是这样,
Array.push()
返回数组的新长度array@SaymoinSam谢谢你的澄清。它帮助我更清楚地理解:)因为Array.push()不返回任何内容。不完全是这样,
Array.push()
返回数组的新长度array@SaymoinSam谢谢你的澄清。它帮助我非常清楚地理解:)是的,你完全正确:)我可以,再次感谢这种新方法:)是的,你完全正确:)我可以,再次感谢这种新方法:)