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


    比較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数据库中导出的表有那些没导入成功.

  • 相关阅读:
    JVM-程序编译与代码晚期(运行期)优化
    JVM-程序编译与代码早期(编译期)优化
    JVM-字节码执行引擎
    JVM-类加载机制
    JVM-字节码指令
    JVM-class文件完全解析-属性表集合
    zabbix配置邮箱报警功能
    Linux Shell 返回值之 PIPESTATUS
    SSH远程登录原理
    Zabbix监控USG6300防火墙及交换机
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5316618.html
Copyright © 2020-2023  润新知