Tutorial :javascript function inArray



Question:

I need a javascript function that can take in a string and an array, and return true if that string is in the array..

 function inArray(str, arr){     ...   }  

caveat: it can't use any javascript frameworks.


Solution:1

you can use arr.indexOf()

http://www.w3schools.com/jsref/jsref_indexof_array.asp


Solution:2

You could just make an array prototype function ala:

Array.prototype.hasValue = function(value) {    var i;    for (i=0; i<this.length; i++) { if (this[i] === value) return true; }    return false;  }    if (['test'].hasValue('test')) alert('Yay!');  

Note the use of '===' instead of '==' you could change that if you need less specific matching... Otherwise [3].hasValue('3') will return false.


Solution:3

Something like this?

function in_array(needle, haystack)  {      for(var key in haystack)      {          if(needle === haystack[key])          {              return true;          }      }        return false;  }  


Solution:4

Take a look at this related question. Here's the code from the top-voted answer.

function contains(a, obj) {    var i = a.length;    while (i--) {      if (a[i] === obj) {        return true;      }    }    return false;  }  


Solution:5

careful:

indexOf() uses partial data. if you have '12', '1'

indexOf('1') will get you the index of '12' not '1'


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »