1、通过正则判断。
var ary = new Array("111","ff","222","aa","222");
alert(mm(ary));
// 验证重复元素,有重复返回true;否则返回false
function mm(a){return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+a.join("\x0f\x0f") +"\x0f");}
2、通过数组排序,比较临近元素,可指出重复的元素。
var ary = new Array("111","22","33","111","22");
var nary = ary.sort();
for(var i = 0; i < nary.length - 1; i++){
if (nary[i] == nary[i+1]){alert("重复内容:" + nary[i]);}
}
3、通过字符串查找。
var ary = new Array("111","22","33","111","22");
var s = ary.join(",") +",";
for(var i = 0; i < ary.length; i++){
if(s.replace(ary[i] + ",", "").indexOf(ary[i] +",") > -1){alert("重复内容:" + ary[i]);}
}
4、通过哈希
var ary = new Array("111","22","33","111","22");
alert(isRepeat(ary));// 验证重复元素,有重复返回true;否则返回false
function isRepeat(arr) {
var hash = {};
for(var i in arr) {
if(hash[arr[i]]){return true;}
// 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可
hash[arr[i]] = true;}
return false;
}
JS判断一个数组中是否有重复值的三种方法
方法一:
//将数组转换成字符串,遍历数组,移除一个元素後若还能找到该元素,那么这个元素就是重复的方法二:
方法三:
以上是简单类型数据数组的重复校验方法,若数组的元素为对象,处理方式就需要变化一下,取关键属性作为依据
本回答被提问者采纳jquery 判断数组中是否有重复值
1、通过正则判断。var ary = new Array("111","ff","222","aa","222");alert(mm(ary));\/\/ 验证重复元素,有重复返回true;否则返回false function mm(a){return \/(\\x0f[^\\x0f]+)\\x0f[\\s\\S]*\\1\/.test("\\x0f"+a.join("\\x0f\\x0f") +"\\x0f");} 2、通过数组排序,...
jquery判断数组是否有相同的元素
jQuery好像没有这种方法,只有最笨的方法,用obj的键值对做标记:var arr=[1,2,3,4,1];var obj={};for(var i=0;i<arr.length;i++){ var str=arr[i]; if(obj[str]){ alert("存在相同元素"); }else{ obj[str]=str;\/\/存入对象中做标记 }}或者用正则表达式:\/...
jquery如何去除表中重复的数据
无论jquery和原生js,去除重复数据都没有直接的方法。方法无非是下面两个:第一、根据json数据字段的唯一性 var a = ["a","ss","a","c"],b={};.each(a,function(i,val){ if (b[val]) a.splice(i,1);});第二种方法,无非就是双循环,逐个判断老数组的元素与新数组的原始是不是...
js中如何判断数组中是否含有某一项?
在JavaScript中,判断数组是否包含某一项可以采用多种方法。首先,利用jQuery的inArray()函数,它查找数组中是否存在指定值,返回值的索引或-1表示未找到。其调用方式为$.inArray(value, array)。例如:javascript var array = [1, 2, 3];if ($.inArray(2, array) !== -1) { console.log('...
jquery判断数组是否包含
function contain(Array,s){ for(var i=0;i<Array.length;i++)if(Array[i] == s)return "checked=checked";return " ";} Array是数组,s是要判断的是否包含的值。
jquery中append(),判断“名字”一样。append()则不重复添加。【有图...
你可以给每条记录加一个唯一标识,然后在append之前通过唯一表示校验,比如:var id = 3, html;if ($('[data-id="' + id + '"]').length === 0) { html = ''; $('ul').append(html);}
JS中如何判断数组中是否包含某一元素
可以直接使用数组的indexOf方法来判断,如果元素存在于数组中,那么返回元素在数组中的下标值,如果不存在,那么返回-1,但是该方法在某些版本的IE中是不起作用,所以建议使用jquery的inArray方法,该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1,代码如下所示:\/** * 使用jquery的in...
jquery怎么判断值是否存在于数组中
var arr = [ 4, "Pete", 8, "John" ];jQuery.inArray("John", arr); \/\/3jQuery.inArray(4, arr); \/\/0jQuery.inArray("David", arr); \/\/-1jQuery.inArray("Pete", arr, 2); \/\/-1
js中如何判断数组中是否含有某一项?
一、JQuery 如果是用JQuery的话,可以用inArray()函数:jquery inarray()函数详解jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。determine the index of the first parameter in the array (-1 if not found).返回值jquery参数value (any) : 用于在数组中...
jquery如何输出数组中某个特定值
我有更好的答案推荐于2018-03-08 11:48:51 最佳答案 jQuery使用$.inArray(val,array)方法判断值是否存在于数组中; 解释: 确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 ). indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,...