JavaScript判断数组重复内容的两种方法(推荐)


Posted in Javascript onJune 06, 2016

前言

一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true 否则,返回 false.

思路

把数组变成字符串

循环原数组,拿每一个字段和这个字符串进行比对,看是否有重复

如何拿A字符串和B字符串进行对比,并且要求判断出B字符串中包含过个A字符串呢?

方法一 indexOf() 和 lastIndexOf() 对比法.

首先,我们构建代码:

var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);

如上,我们要用一个arrRepeat(arr)的校验函数并执行,下面来构建这个函数

function arrRepeat(arr){
var arrStr = JSON.stringify(arr),str;
for (var i = 0; i < arr.length; i++) {
if (arrStr.indexOf(arr[i]) != arrStr.lastIndexOf(arr[i])){
return true;
}
};
return false;
}

OK,运行成功.

JavaScript判断数组重复内容的两种方法(推荐)

原理特别简单,就是,数组中的字段,在由数组变成的字符串中的首次出现位置和最后一次出现位置是否一致,如果不一致,就说明这个重复出现了.

方法二 match() 正则对比方法

首先,和上面一样,我们构建代码:

var arr = ["aa","bb","cc","bb","aa"];
arrRepeat(arr);

然后,我们重新构建arrRepeat(arr)函数

function arrRepeat(arr){
var arrStr = JSON.stringify(arr),str;
for (var i = 0; i < arr.length; i++) {
if ((arrStr.match(new RegExp(arr[i],"g")).length)>1){
return true;
}
};
return false;
}

原理是查找确定的重复次数,如果是大于1的话,就肯定是重复了.注意,这里是能够准确的查找出出现了几次的哦!所以,这个方法其实有更广泛的用途.

OK,运行又一次成功

JavaScript判断数组重复内容的两种方法(推荐)

总结

如果仅仅是比对第一个方法其实足够用了.

第二个方法可以查找出现的真实次数,比如重复了4次,就能找到4.具体的用途自己思考咯.

构建包含变量的正则的方法new RegExp(arr[i],"g")也是问别人才问出来的.

其实我先想到的是第二个思路,正则的问题困扰半天,终于解决了.才想到第一个思路的.

以上所述是小编给大家介绍的JavaScript判断数组重复内容的两种方法(推荐),希望能够帮助到大家!

Javascript 相关文章推荐
js 事件小结 表格区别
Aug 13 Javascript
JS 如果改变span标签的是否隐藏属性
Oct 06 Javascript
实例讲解JS中数组Array的操作方法
May 09 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
Dec 14 Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 Javascript
bootstrap IE8 兼容性处理
Mar 22 Javascript
jQuery实现可兼容IE6的滚动监听功能
Sep 20 jQuery
JavaScript数据结构之优先队列与循环队列实例详解
Oct 27 Javascript
Vue2实时监听表单变化的示例讲解
Aug 30 Javascript
JQuery中queue方法用法示例
Jan 31 jQuery
vue中的过滤器及其时间格式化问题
Apr 09 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 #Javascript
浅析$.getJSON异步请求和同步请求
Jun 06 #Javascript
使用RequireJS库加载JavaScript模块的实例教程
Jun 06 #Javascript
ionic 上拉菜单(ActionSheet)实例代码
Jun 06 #Javascript
深入理解JavaScript 函数
Jun 06 #Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 #Javascript
javascript url几种编码方式详解
Jun 06 #Javascript
You might like
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
document.documentElement和document.body区别介绍
2013/09/16 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
Underscore源码分析
2015/12/30 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
Python的Django框架中if标签的相关使用
2015/07/15 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Python制作Windows系统服务
2017/03/25 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
详解python itertools功能
2020/02/07 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
秋季运动会稿件
2014/01/30 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
校运会入场式解说词
2014/02/10 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
书法大赛策划方案
2014/06/04 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
大学同学会活动方案
2014/08/20 职场文书
大足石刻导游词
2015/02/02 职场文书
Nginx内网单机反向代理的实现
2021/11/07 Servers