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 相关文章推荐
PNG背景在不同浏览器下的应用
Jun 22 Javascript
基于jquery的动态创建表格的插件
Apr 05 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
详解javascript中原始数据类型Null和Undefined
Dec 17 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
May 21 Javascript
基于Node.js的WebSocket通信实现
Mar 11 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
react同构实践之实现自己的同构模板
Mar 13 Javascript
详解JavaScript中的强制类型转换
Apr 15 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
Dec 13 Javascript
vue中watch的用法汇总
Dec 28 Vue.js
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
php生成文件
2007/01/15 PHP
php中目录,文件操作详谈
2007/03/19 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
python发腾讯微博代码分享
2014/01/10 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
python pandas生成时间列表
2019/06/29 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
环保建议书400字
2014/05/14 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
python面向对象版学生信息管理系统
2021/06/24 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript