JS判断一个js数组判断重复的元素中是否有重复值的三种方法

JS判断一个数组中是不是有重复值的三种方法 - JavaScript当前位置:& &&&JS判断一个数组中是不是有重复值的三种方法JS判断一个数组中是不是有重复值的三种方法&&网友分享于:&&浏览:184次JS判断一个数组中是否有重复值的三种方法
var ary = new Array("111","22","33","111");
var s = ary.join(",")+",";
for(var i=0;i&ary.i++) {
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")&-1) {
alert("数组中有重复元素:" + ary[i]);
var ary = new Array("111","22","33","111");
var nary=ary.sort();
for(var i=0;i&ary.i++){
if (nary[i]==nary[i+1]){
alert("数组重复内容:"+nary[i]);
function isRepeat(arr){
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
hash[arr[i]] =
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有JS判断一个数组中是否有重复值的三种方法-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
JS判断一个数组中是否有重复值的三种方法
来源:互联网 更新时间: 20:10:46 责任编辑:李志喜字体:
var ary = new Array("111","22","33","111");
var s = ary.join(",")+",";
for(var i=0;i&ary.i++) {
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")&-1) {
alert("数组中有重复元素:" + ary[i]);
var ary = new Array("111","22","33","111");
var nary=ary.sort();
for(var i=0;i&ary.i++){
if (nary[i]==nary[i+1]){
alert("数组重复内容:"+nary[i]);
function isRepeat(arr){
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
hash[arr[i]] =
相关文章:
上一篇文章:下一篇文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号大家好,今天我们来讲一下,如何使用javascript判断一个数组之中,是否有相同重复的元素。在讲之前,先来讲一下思路:在现实当中,当我们要判断某几个东西是否相同,那就意味着这东西至少是有2个或更多,否则单个东西是没法比较的。数组也是一样,要判断一个数组中是否有重复的元素,最简单,最直观的方法,就是把数组复制一份,然后用复制的数组中的每一项,和原数组逐个比较一遍,如何有任一个相同,就返回true,否则就返回false。这种虽然从效率上差些,但胜在容易理解。现在我们先看下代码:虽然很简单,就是个for循环,if判断。。但也可能会有同学表示晕啊,看不懂。看不明白不要紧,我大概讲下,具体怎么比较的。。首先我们看这个函数,它接收一个数组做为参数,那传入之后,在这个函数中的arr就是一个数组,对它使用join方法,将这个数组转为一个字符串,并用逗号分隔。然后呢,声明一个变量b,把这个新字符串赋值给它,等于把它存在变量b里了。接下来,用一个for循环来对变量b进行循环处理,就是循环b中的字符串中的每一个字符,在循环中用if做一个判断,判断什么呢?关键就在这里,前面已经说过了,函数一执行的时候,就已经把传入的数组复制了一份给了变量b,这时变量b和数组,它俩的内容是一样一样的,都是1,3,4,5,2接下来会看到,程序对变量b,使用replace方法,将变量b中的arr[i]的内容,替换为&&,运行起来是这样的:for循环从0开始,当i=0的时候,arr数组的第0个值,上面代码中arr[0]的值是:1,就是把1,替换为&&,而这个replace方法,是使用在变量b身上的,那其实就是把变量b中保存着的字符串中的,1,替换为&&,之前变量b的内容是:1,3,4,5,2替换之后是:&&,3,4,5,2然后用indexOf在变量b中查找arr数组的第[0]个值,arr[0]的值是1,因为数组并没有被修改,它只用来被比较的。实际运行时就是,'&&,3,4,5,2'.indexOf(1),而这时b中的字符串已经是,b = &&,3,4,5,2; 了,当然不会查找到1了,所以就会返回-1,就是没有查找到,因为是for循环嘛,那么i++,到i=1的时候,就是把b这个字符串的arr[1]项,替换为&&,依然对字符串b进行 replace 操作,这里字符串b就是:1,,4,5,2了,而数组arr[1]的值是3,就等于是 '1,&&,4,5,2'.indexOf(3),当然返回还是-1,没找到,以此类推一直到arr数组的最后一个就这样整个数组的循环一遍,其中任何一个 &-1,就是有重复,否则就是没有重复。其实还是很简单的哈,大家多练习下,就明白啦。今天这个例子,它的功能很有限的,只能判断是否有重复,只能返回true或是false,下次我们讲一个稍稍复杂一点的web前端招聘群:web前端教室(webfeel) 
 文章为作者独立观点,不代表大不六文章网立场
webfeelweb前端技术 原创视频教程,每期一个知识点,3-5分钟,充分利用碎片时间。热门文章最新文章webfeelweb前端技术 原创视频教程,每期一个知识点,3-5分钟,充分利用碎片时间。&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78}

我要回帖

更多关于 js数组判断重复的元素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信