array: kein object gefunden
David
- javascript
Hallo!
So langsam ist es zum Haareraufen. Bei folgendem Code kriege ich die Fehlermeldung:
ERROR: 'points[...].pnum' is null or not an object
Warum? Es sollte doch eigentlich ein Objekt vorhanden sein...
//Konstruktor
function photopoints(pnum,north,east,height,camc) {
this.pnum=pnum;
this.north=north;
this.east=east;
this.height=height;
this.camc=camc;
}
//Daten
var points = new Array();
points[0] = new photopoints("1", "100", "100","10", "0.150");
points[1] = new photopoints("2", "150", "120","10", "0.150");
points[2] = new photopoints("3", "200", "150","10", "0.150");
...
function calc() {
for(var i=0; i<=points.length; i++) {
if (points[i].pnum>=minN) && (points[i].north>=minE)
^^^^^^
...
function calc() {
for(var i=0; i<=points.length; i++) {
Kleiner gleich heißt, das i so gross wird wie points.length und da in allen Programmiersprachen der Index bei 0 beginnt ist length immer eins größer als der letzte Index.
if (points[i].pnum>=minN) && (points[i].north>=minE)
Um solche Fehler zu vermeiden sollte man sich angewöhnen zu testen was man tut:
for(var i=0; i<=points.length; i++) {
if(typeof points[i] == 'undefined') return alert('Fehler Objekt existiert nicht');
oder:
for(var i=0; points[i];i++)
Struppi.
Hi Struppi!
Habe jetzt die Fehler mit deiner Hilfe beseitigt und ... es rockt!
Danke!