JS实现的用来对比两个用指定分隔符分割的字符串是否相同


Posted in Javascript onSeptember 19, 2014

比较2个字符串内元素的不同(字符1, 字符2, 分隔符可选)

文件: diff.js

// 示例用法
/*

var str1 = "tie, mao, 55";
var str2 = "tie, mao, csdn";
var result = diff(str1, str2, ','); // 对象
var rs = "" + result;  // " 55, csdn"
var df1 = result.diff1; // [" 55"]
var df2 = result.diff2; // [" csdn"]

*/

// 比较2个字符串内元素的不同(字符1, 字符2, 分隔符可选)
function diff(str1, str2, separator){
	//
	str1 = str1 || "";
	str2 = str2 || "";
	separator = separator || ",";
	// arr中有ele元素
	function hasElement(arr, ele){
		// 内存循环
		var hasItem1 = false;
		for(var i2=0; i2 < arr.length; i2++){
			//
			var item2 = arr[i2] || "";
			if(!item2){
				continue;
			}
			//
			if(ele == item2){
				hasItem1 = true;
				break;
			}
		}
		return hasItem1;
	};
	function inAnotB(a, b){ // 在A中,不在B中
		var res = [];
		for(var i1=0; i1 < a.length; i1++){
			var item1 = a[i1] || "";
			if(!item1){
				continue;
			}
			var hasItem1 = hasElement(b, item1);
			if(!hasItem1){
				res.push(item1);
			}
		}
		return res;
	};
	//
	var list1 = str1.split(",");
	var list2 = str2.split(",");
	//
	var diff1 = inAnotB(list1, list2);
	var diff2 = inAnotB(list2, list1);
	
	// 返回结果
	var result = {
		diff1 : diff1
		,
		diff2 : diff2
		,
		separator : separator
		,
		toString : function(){
			//
			var res = this["diff1"].slice(0);
			res = res.concat(this["diff2"]);
			//
			return res.join(this["separator"]);
		}
	};
	//
	return result;
};

请根据需要使用, 我用来比较在2个Oracle数据库中导出的表有那些没导入成功.

Javascript 相关文章推荐
JavaScript表单通过正则表达式验证电话号码
Mar 14 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
Oct 17 Javascript
javascript转换静态图片,增加粒子动画效果
May 28 Javascript
js检测用户输入密码强度
Oct 22 Javascript
jQuery表格插件datatables用法汇总
Mar 29 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
Jan 05 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
JavaScript满天星导航栏实现方法
Mar 08 Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 Javascript
详解离线安装npm包的几种方法
Nov 25 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
Sep 27 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 #Javascript
JS应用正则表达式转换大小写示例
Sep 18 #Javascript
使用不同的方法结合/合并两个JS数组
Sep 18 #Javascript
js实现按Ctrl+Enter发送效果
Sep 18 #Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 #Javascript
输入框过滤非数字的js代码
Sep 18 #Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 #Javascript
You might like
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP聊天室技术
2006/10/09 PHP
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
Python数据类型学习笔记
2016/01/13 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
用Python实现随机森林算法的示例
2017/08/24 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Python Django 命名空间模式的实现
2019/08/09 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
Linux操作面试题
2012/05/16 面试题
浅谈react路由传参的几种方式
2021/03/23 Javascript
工程采购员岗位职责
2014/03/09 职场文书
村长贪污检举信
2014/04/04 职场文书
新品发布会策划方案
2014/06/08 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书