• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Uncaught TypeError: Cannot read property 'length' of undefined

eclipse240hp

New member
Ich bekomme für mich un logischerweise diesen Fehler

Es ist JavaScript!

PHP:
if (typeof(this.vecpair[0].length-1) !== 'undefined') { //hier .. was prüfe ich falsch??
	  this.vecpair = this.eliminatePairs(this.vecpair, 1.0, 10.0);
	  if(this.vecpair.length == 3){
		  
		  this.getFinderPattern(this.vecpair);
	  }
  }}
 
Zuletzt bearbeitet:
Nun folgendes..
Wie kann ich verhindern, dass die schleife ausgeführt wird, wenn vecpair[m].length undefined ist??

PHP:
if(vecpair[m] !== 'undefined'){
        		
        		for(var i=0; i<vecpair[m].length - 1; i++){ // hier ist der Fehler.. 
		            var area1 = CV.contourArea(vecpair[m][i]);
		            var area2 = CV.contourArea(vecpair[m][i + 1]);
		            if(area1 / area2 < minRatio || area1 / area2 > maxRatio){
		                vecpair.splice(vecpair[0]+m, 1);
		                flag = true;
		            }
		        }
        		
        	}

Hier wird dennoch der Fehler bei "i<vecpair[m].length" erzeugt
 
dann musst du eben testen, ob vecpair[m] eine length-Property hat.

... was vielleicht einfacher wäre, wenn man wüßte, woher vecpair eigentlich kommt.
 
Komischerweise kann ich vecpair[m].length in der Console ausgeben...

- - - Aktualisiert - - -

Consolenausgebae: siehe Anhang

- - - Aktualisiert - - -

dann musst du eben testen, ob vecpair[m] eine length-Property hat.

... was vielleicht einfacher wäre, wenn man wüßte, woher vecpair eigentlich kommt.

hast du nen link? habe nichts gefunden wie man das testen kann.
 

Anhänge

  • Untitled-5.jpg
    Untitled-5.jpg
    72,4 KB · Aufrufe: 2
Der Fehler wird dennoch ausgegeben.... wie kann das den sein????

PHP:
if(vecpair && vecpair[m]){
        		for(var i=0; i<vecpair[m].length - 1; i++){
		            var area1 = CV.contourArea(vecpair[m][i]);
		            var area2 = CV.contourArea(vecpair[m][i + 1]);
		            if(area1 / area2 < minRatio || area1 / area2 > maxRatio){
		                vecpair.splice(vecpair[0]+m, 1);
		                flag = true;
		               // break;
		            }
		        }
        		
        	}
 
i sollte doch length-1 nie erreichen...

@eclipse: Bist du sicher, dass vecpair.splice(vecpair[0]+m, 1); richtig ist? Was willst du mit dieser Zeile erreichen?
Aber kannst du uns nicht einen Link geben, wo wir uns das live ansehen können?
 
Zurück
Oben