Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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删除方法_Javascript_Processing.js - Fatal编程技术网

Javascript删除方法

Javascript删除方法,javascript,processing.js,Javascript,Processing.js,我正在尝试使用processing.js库创建一个画布游戏 我使用数组来保存所有对象 class blah{ ... void delete(){ // this.remove ??? } } blah myArray = []; myArray.push(new blah()); 是否有一种方法可以在该类中创建delete函数,以便在删除元素时将其从数组中删除?我想到了一种解决方法,比如将元素在数组中的位置作为参数传递。没有直接的方法可以删除它而不传递

我正在尝试使用processing.js库创建一个画布游戏

我使用数组来保存所有对象

class blah{
    ...
    void delete(){
       // this.remove ???
    }
}

blah myArray = [];
myArray.push(new blah());
是否有一种方法可以在该类中创建delete函数,以便在删除元素时将其从数组中删除?我想到了一种解决方法,比如将元素在数组中的位置作为参数传递。没有直接的方法可以删除它而不传递任何参数吗

我上面提到的解决方法:

void delete(int i){
  myArray.splice(i,1);
}

您应该能够通过以下方式找到实例:


我很困惑:JavaScript目前不支持类或静态类型。。。我遗漏了什么吗?你的代码片段令人困惑。在JavaScript中,您不声明变量的类型,也不键入返回值。你确定这不是ActionScript或Java吗?我使用的是processing.js,正如我在标签中提到的,也是在我提出问题时提到的。这个库允许类似C++的声明@Xophmeister只是另一个破坏JavaScript基本思想的库。灵活性,创造你自己的“东西”…@benqus不是真的。这是一个很棒的图书馆,我不是一个图书馆迷。但是,C++是我学习的第一种语言,这有助于减少代码的大小。您可以用100行代码创建一个功能齐全的画布游戏,这需要300行纯javascript代码。好的部分是,我不需要学习任何新的库,因为用这一个你仍然可以用纯JavaScript编写,但是你仍然可以使用更高级的OOP语言的优势,比如C++。
void delete() {
    int index = myArray.indexOf(this);

    if (index > -1) {
        myArray.splice(index, 1);
    }
}