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 相关文章推荐
用roll.js实现的图片自动滚动+鼠标触动的特效
Mar 18 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 Javascript
javascript中字符串拼接需注意的问题
Jul 13 Javascript
分享27个jQuery 表单插件集合推荐
Apr 25 Javascript
php对mongodb的扩展(初识如故)
Nov 11 Javascript
node.js中的buffer.length方法使用说明
Dec 14 Javascript
基于jquery实现ajax无刷新评论
Aug 19 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 Javascript
bootstrap table单元格新增行并编辑
May 19 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
javascript使用正则表达式实现注册登入校验
Sep 23 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
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
js获取class的所有元素
2013/03/28 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
Python正则表达式知识汇总
2017/09/22 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
python微信撤回监测代码
2019/04/29 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
一个入门级python爬虫教程详解
2021/01/27 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
护理专业学生的求职信范文
2013/12/11 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014年小学教研工作总结
2014/12/06 职场文书
关于MySQL中的 like操作符详情
2021/11/17 MySQL