Onderstaand script geeft de keys weer indien de volledige zoekterm in een array voorkomt:
Nu zou ik dit graag uitbreiden zodat ook de keys weergegeven worden indien de zoekterm slechts een deel van de overeenkomst uitmaakt (bijvoorbeeld: de zoekterm 'ie' retourneert de keys 3,4).
Heeft iemand weet van het bestaan van zo'n script, of heeft iemand tips hoe dit script zelf te maken? Ik heb al allerlei geprobeerd maar dit heeft totnutoe niet het gewenste resultaat opgeleverd.
Bij voorbaat dank voor jullie hulp.
Code:
<html>
<head>
<title>array.prototype.find</title>
<script>
Array.prototype.find = function(searchStr) {
var returnArray = false;
for (i=0; i<this.length; i++) {
if (typeof(searchStr) == 'function') {
if (searchStr.test(this[i])) {
if (!returnArray) { returnArray = [] }
returnArray.push(i);
}
} else {
if (this[i]===searchStr) {
if (!returnArray) { returnArray = [] }
returnArray.push(i);
}
}
}
return returnArray;
}
</script>
</head>
<body>
<script>
var test=['nul','een', 'twee', 'drie', 'vier','een']
resultaat1=test.find('een'); // OK
resultaat2=test.find(/^ie/i); // WERKT NIET
alert(resultaat1);
</script>
</body>
</html>
Heeft iemand weet van het bestaan van zo'n script, of heeft iemand tips hoe dit script zelf te maken? Ik heb al allerlei geprobeerd maar dit heeft totnutoe niet het gewenste resultaat opgeleverd.
Bij voorbaat dank voor jullie hulp.