我对编程很新,而且我正在尝试使用数组做一些工作,但是我遇到了一个我不知道如何修复的错误。任何帮助都会很棒!
错误:1084:语法错误:在leftbracket之前期待冒号。 资料来源:hockeyPP({hockeyPlayers [i]});
错误:1084:语法错误:在rightbrace之前期待标识符。 资料来源:hockeyPP({hockeyPlayers [i]});
function eliminateAbsentees():void{
for(var i:int=0; i<=hockeyPlayers.length; i++){
if(hockeyPlayers[i].attendance==true){
hockeyPP.push({hockeyPlayers[i]});
}
}
}
答案 0 :(得分:4)
删除{和}周围的hockeyPlayers [i]。为什么要以这种方式使用它?
function eliminateAbsentees():void{
for(var i:int = 0; i <= hockeyPlayers.length; i++){
if(hockeyPlayers[i].attendance == true){
hockeyPP.push(hockeyPlayers[i]);
}
}
}
答案 1 :(得分:0)
如Azzy Elvul所述,您的问题是数组项周围的大括号(“{}”)。你会在几个地方看到大括号:
我认为还有一个,但这就是我想到的最重要的事情。基本上,当您尝试使用此行时:
hockeyPP.push({hockeyPlayers[i]});
您尝试将hockeyPlayers[i]
声明为新对象(ActionScript中最基本的类,以及大多数语言)。您可以通过两种方式实例化Object类:
var obj:Object = new Object();
和var obj:Object = {};
你试图做第二个,懒惰的实例化。因此,您尝试声明一个属性为hockeyPlayers[i]
的对象,而不将值与其关联(所有OOP的基础是属性:值对)。
正如第一个错误所说,你错过了那种实例化的冒号。如果你要尝试
hockeyPP.push({hockeyPlayers[i] : null}); //null is what an object is when it has no value
您不会遇到任何错误,因为这是实例化Object的正确方法。但是,根据您的需要,您只想将项目从一个数组推送到另一个数组。所以你也是 array2.push(array1 [selectedIndex]);
我肯定会给LiveDocs一些阅读。它们看起来令人生畏,但是一旦你开始阅读它们,它们写得非常好,易于理解。