在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中
例1
/* * * 判断在数组中是否含有给定的一个变量值 * 参数: * needle:需要查询的值 * haystack:被查询的数组 * 在haystack中查询needle是否存在,如果找到返回true,否则返回false。 * 此函数只能对字符和数字有效 * */ function findnum(){ var a=[1,2];//假设a是数组,obj是要判断的数 var obj=1; var b = false; for (var i = 0; i
例2
/** * JS判断一个值是否存在数组中 * 琼台博客 */ // 定义一个判断函数 var in_array = function(arr){ // 判断参数是不是数组 var isArr = arr && console.log( typeof arr==='object' ? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(','):'an empty array': arr.constructor: typeof arr ); // 不是数组则抛出异常 if(!isArr){ throw "arguments is not Array"; } // 遍历是否在数组中 for(var i=0,k=arr.length;i-1) { alert("数组中有重复元素:" ary[i]); break; } }
例5
function isRepeat(arr){ var hash = {}; for(var i in arr) { if(hash[arr[i]]) return true; hash[arr[i]] = true; } return false; }