gruss Joachim,
Is nicht so wild:
var xyz = new Array("la","le","lu");function is_in_array(arr,str) {
for(i in arr) {if (arr[i] == str) return true;}
------------------------------^^
ist aber auch nicht ganz richtig, denn:
(0 == "") ist true,
(false == "") ist true,
(false == 0) ist true ... usw. ;
fuer solche faelle benoetigt man den
identitaetsoperator ===, eine moegliche
array-methode "contains" saehe dann so aus:
Array.prototype.contains = function(obj) {
var i, listed = false;
for (i=0; i<this.length; i++) {
if (this[i] === obj) {
listed = true;
break;
}
}
return listed;
};
jetzt koennte ma z.b. schreiben:
var arr = ["la","le","lu"];
var x = "blubb";
var y = "le";
alert("arr.contains("" + x + "") = " + arr.contains(x) + "\narr.contains("" + y + "") = " + arr.contains(y));
noch besser als der vergleich mit ===
innerhalb der array methode "contains"
waere eine weitere fuer javascript noch
zu schreibende methode "Object.prototype.equals",
die man dann im falle von "contains" so
implementieren wuerde:
if (this[i].equals(obj)) {
listed = true;
break;
}
tschoe - peterS. - pseliger@gmx.net
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)