login  Naam:   Wachtwoord: 
Registreer je!
Scripts > JavaScript > Functies > array.find()


Reacties op het script array.find()

Offline  ikkedikke
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

Offline  haytjes
Gepost op: 18 juli 2006 - 18:41
Gouden medailleGouden medaille

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.

Offline  Ibrahim
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:
  1. <script>
  2. var plaats = Array();
  3. plaats["thuis"] = "gezellig";
  4. plaats["werk"] = "stress";
  5. plaats["cafe"] = "rustig";
  6. plaats["kerkhof"] = "kill";
  7.  
  8. waarIsHetRustig = plaats.find('key', 'cafe"); // = rustig
  9. waarIsHetKill = plaats.find('value', 'kill'); // = kerkhof
  10. waarIsHetMooi = plaats.find('key', 'mooi'); // = -1
  11. </script>

Offline  haytjes
Gepost op: 20 juli 2006 - 13:01
Gouden medailleGouden medaille

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
  1. if(plaats["kill"])
  2. alert("key bestaat, value: "+plaats["kill"]);

Offline  Mukke
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:
  1. Array.prototype.multifind = function (element,col)
  2. {
  3. for (var keys in this)
  4. {
  5. if (this[keys][col] == element)
  6. {
  7. return keys;
  8. break;
  9. }
  10. }
  11. return -1;
  12. };


en dan nog een extratje voor 1 dimensionale arrays:
vb:
  1. var arr= ["een","twee","drie","vier"];
  2. arr.deleterow("drie");
  3. //nu is de array: ["een","twee","vier"]
  4.  
  5.  
  6. Array.prototype.deleterow = function (element)
  7. {
  8. var temp= array();
  9. for(var k=0;k<this.length;k++){
  10. if (this[k]!=element){
  11. temp[]=this[k];
  12. }
  13. }
  14. this=temp;
  15.  
  16. }


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.039s