Reacties op het script array.find()
|
Gepost op: 18 juli 2006 - 18:16 |
|
|
|
PHP expert
|
is het misschien niet makkelijker iets dergelijks als array_flip in php te gebruiken en dan gewoon te kijken of de variabele bestaat? lijkt me sneller dan heel de array door te lopen |
|
|
|
Gepost op: 18 juli 2006 - 18:41 |
|
|
|
JS gevorderde
|
Het enige waardoor de script heel veel rapper kan gemaakt worden is door standaard array functies te werken. Nu zijn er dit niet veel in JavaScript1.2 (je moet er vanuit gaan dat zeker voor JS1.2 script, anders kan je zo goed als niets. Wel oppassen, IE houd zich hier niet aan, dus kunnen bepaalde functies nog niet in IE5.5 zitten. IE6.0 meestal wel):
array.pop()
array.push()
array.reverse()
array.shift()
array.sort()
array.splice()
array.unshift()
array.concat()
array.join()
array.slice()
array.toString()
array.valueOf()
Daartussen zit geen getKeys() ofzo tussen. Dus is dit ook niet mogelijk. Daarmee dat ik ook array.keys() hebt gemaakt.
Dus ik zou niets weten, waardoor dit sneller zou kunnen gaan. Moest je wel nog een idee hebben, zeg het maar. Ik ben benieuwd. |
|
|
|
Gepost op: 19 juli 2006 - 17:08 |
|
|
|
PHP expert
|
mischien zou je het zo kunnen maken dat je kunt kiezen in het zoeken naar de waardes of naar de keys ?
Voorbeeld:
<script>
var plaats = Array();
plaats["thuis"] = "gezellig";
plaats["werk"] = "stress";
plaats["cafe"] = "rustig";
plaats["kerkhof"] = "kill";
waarIsHetRustig = plaats.find('key', 'cafe"); // = rustig
waarIsHetKill = plaats.find('value', 'kill'); // = kerkhof
waarIsHetMooi = plaats.find('key', 'mooi'); // = -1
</script>
<script> plaats["thuis"] = "gezellig"; plaats["werk"] = "stress"; plaats["cafe"] = "rustig"; plaats["kerkhof"] = "kill"; waarIsHetRustig = plaats.find('key', 'cafe"); // = rustig waarIsHetKill = plaats.find('value', 'kill'); // = kerkhof waarIsHetMooi = plaats.find('key', 'mooi '); // = -1 </script>
|
|
|
|
Gepost op: 20 juli 2006 - 13:01 |
|
|
|
JS gevorderde
|
voor het zoeken naar keys is het veel simpeler en zie ik ook niet de noodzaak om daar een functie voor te schrijven
if(plaats["kill"])
alert("key bestaat, value: "+plaats["kill"]);
if(plaats["kill"]) alert("key bestaat, value: "+plaats["kill"]);
|
|
|
|
Gepost op: 21 januari 2008 - 17:44 |
|
|
|
Nieuw lid
|
ik had soort gelijke functie nodig al heb ik hem wel op basis hiervan kunnen schrijven,
Multidimensionale find:
Array.prototype.multifind = function (element,col)
{
for (var keys in this)
{
if (this[keys][col] == element)
{
return keys;
break;
}
}
return -1;
};
Array.prototype.multifind = function (element,col) { for (var keys in this) { if (this[keys][col] == element) { return keys; break; } } return -1; };
en dan nog een extratje voor 1 dimensionale arrays:
vb:
var arr= ["een","twee","drie","vier"];
arr.deleterow("drie");
//nu is de array: ["een","twee","vier"]
Array.prototype.deleterow = function (element)
{
var temp= array();
for(var k=0;k<this.length;k++){
if (this[k]!=element){
temp[]=this[k];
}
}
this=temp;
}
var arr= ["een","twee","drie","vier"]; arr.deleterow("drie"); //nu is de array: ["een","twee","vier"] Array.prototype.deleterow = function (element) { var temp= array(); for(var k=0;k<this.length;k++){ if (this[k]!=element){ temp[]=this[k]; } } this=temp; }
|
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|