Struppi: Problem beim vergleichen von String-Werten

Beitrag lesen

formats[0] = new Array('Product 001', 'Modell Blabla', '42 x 42 mm', '55', '75');

Schöner, weil besser lesbar ist sowas als Objekt zu erzeugen.

function setObj(type, beschreibung, format, zahl1, zahl2)'
{
this.type = type;
this.beschreibung = beschreibung;
this.format = format;
this.zahl1 = zahl1;
this.zahl2 = zahl2;
}

formats[formats.length] = new setObj('Product 001', 'Modell Blabla', '42 x 42 mm', '55', '75');

Dann musst du später nicht auf den Index zugreifen, sondern kannst das Attribut bezeichnen.

function get_stkkst(var1, var2)
{
for(i=0; i <= formats.length-1; i++)

Du meinst:

for(var i = 0; i < formats.length; i++)

{
  if(var1.indexOf(formats[i][0]) != -1) if (var2.indexOf(formats[i][1]) != -1) return i; }

Du meinst:
if( var1.indexOf(formats[i][0]) != -1 && var2.indexOf(formats[i][1]) != -1 ) return i;

Und mit dem obigen Objekt:

if( var1.indexOf(formats[i].type) != -1 &&
var2.indexOf(formats[i].beschreibung) != -1 ) return i;

oder noch besser gleich eine Vergleichsfunktion einbauen:

setObj.prototype.compare(type, format)
{
return ( type.indexOf(this.type) != -1 &&
format.indexOf(this.beschreibung) != -1 );
}

und dann:

for(var i = 0; i < formats.length; i++)
if( formats[i].compare(var1, var2) ) return i;

}
}

kst_prodid = get_stkkst(stk_type, stk_format);

Ich frag mich aber, warum du das Format mit der Beschreibung vergleichst.

Struppi.