Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象数组传递给js函数_Javascript_Oop - Fatal编程技术网

Javascript 将对象数组传递给js函数

Javascript 将对象数组传递给js函数,javascript,oop,Javascript,Oop,我第一次尝试在javascript中实现OOP,当我尝试向这个函数发送一个对象数组时,我被一个递归函数卡住了。因此,我有一个“Pitic”类(Pitic在罗马尼亚语中是侏儒的意思)和一些专有名词: function Pitic(piticID) { this.id = piticID; this.inaltime = null; this.greutate = null; this.genereazaGreutate(); this.genereazaInaltime(); } 我现在正在生成

我第一次尝试在javascript中实现OOP,当我尝试向这个函数发送一个对象数组时,我被一个递归函数卡住了。因此,我有一个“Pitic”类(Pitic在罗马尼亚语中是侏儒的意思)和一些专有名词:

function Pitic(piticID) {
this.id = piticID;
this.inaltime = null;
this.greutate = null;
this.genereazaGreutate();
this.genereazaInaltime();
}
我现在正在生成一些侏儒,并将它们存储在public piticiCollection数组变量中。“generazagreutate”和“generazainaltime”是为inaltime和greutate值生成随机值的函数

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
当我尝试将MIDGET数组发送到函数时,问题就出现了,因为我得到的只是数组的第一项

因此,在调用函数之前,我有一个包含4个对象的PiticicCollection数组:

我一调用以piticiCollection作为参数的函数,就松开了3个侏儒(

p、 请原谅我英语不好

[编辑]
下面是我的完整代码:我在第56行调用该函数,调试器一点击第60行,我就释放了数组项。

您的
determinationaPerchipoble
正在修改此行的原始数组:

colectieDePitici.splice(1, colectieDePitici.length);

特别是,它将删除除第一个元素以外的所有元素。您可能应该使用它以非破坏性方式提取要在其上递归的数组部分。

正如Ted Hopp所提到的,问题似乎在于行

collectiedepitici.splice(1,collectiedepitici.length);

结合这一行:

colectieDePitici.splice(1, colectieDePitici.length);
determinateaphibile(colectiedepiticcopy);


如果这两行被注释掉,数组将保持其原始长度。

在函数中使用之前,我通过创建数组的副本解决了问题。奇怪:(

函数确定器(somePitici){
var piticdecorat,结肠镜;
结肠镜检=某些垂体;
对于(变量i=1;i
将对象数组传递给函数的代码在哪里?这就是我们需要看到的。如何创建数组,如何传递给函数,以及如何在函数内部访问数组。@fDruga尝试传递一个内联数组,并检查得到的结果。
DeterminateApreChiposible([1,2,3,4]);
@jfriend00您可以在屏幕截图1中看到被传递给函数“determinationaperechipoble”的对象填充的数组。在屏幕截图2中,您可以看到函数。我使用for创建数组,并使用代码piticcollection.push(Pitic)添加Pitic对象;@plalx情况并非如此,因为我需要对象在FunctionArray中可用。成员不会消失。它只是在调试器中显示1个成员,还是在代码的自然输出中显示1个成员?在检查数组的完整性后调用splice。我对该行进行了注释,但仍然遇到问题。好的,splice不是问题所在。我定义了一个名为test的新函数,并通过了数组。它运行良好。我添加了for并再次断开它。我再次编写了该函数,它运行正常。当然,我必须修改拼接到拼接(0,1)但我再说一遍…甚至在代码到达拼接函数之前,我的数组就被破坏了。对我来说,这仍然是一个谜,我现在就到此为止。谢谢你的回复。。