JS实现的用来对比两个用指定分隔符分割的字符串是否相同
比较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数据库中导出的表有那些没导入成功.
相关推荐
-
js字符串截取函数slice、substring和substr的比较
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. 取字符串的三个函数:slice(start,[end]),substring(start,[end])和substr(start,[length]) 相关属性: slice() 第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的差;若
-
javascript的字符串按引用复制和传递,按值来比较介绍与应用
按值和按引用的比较 Numbers 和 Boolean 类型的值 (true 和 false) 是按值来复制.传递和比较的.当按值复制或传递时,将在计算机内存中分配一块空间并将原值复制到其中.然后,即使更改原来的值,也不会影响所复制的值(反过来也一样),因为这两个值是独立的实体. 对象.数组以及函数是按引用来复制.传递和比较的. 当按地址复制或传递时,实际是创建一个指向原始项的指针,然后就像拷贝一样来使用该指针.如果随后更改原始项,则将同时更改原始项和复制项(反过来也一样).实际上只有一个实体:
-
JavaScript 解析Json字符串的性能比较分析代码
解析时用到的方法一般是eval或者new function,而目前IE8和Firefox3.1又内置了原生的JSON对象(据说会有一定的性能提升).那我们在实际使用的时候怎样从这三种方法(因为性能问题,不考虑用javascript实现的解析)里面来选择呢?面对众多的浏览器,哪种方式的性能是最好的呢? 一.测试方法 1.首先指定测试次数及JSON字符串 复制代码 代码如下: var count = 10000, o = null, i = 0, jsonString = '{"value"
-
浅谈JS中的三种字符串连接方式及其性能比较
工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法 用连接符"+"把要连接的字符串连起来: str="a"; str+="b"; 毫无疑问,这种方法是最便捷快速的,如果只连接100个以下的字符串建议用这种方法最方便. 第二种方法 以数组作为中介用 join 连接字符串: var arr=new Array(); arr.push(a);
-
js去字符串前后空格5种实现方法及比较
我们在项目中如果写到注册的时候,用户输入空格,我们怎么来剔除空格呢? 下面是我经常用到的js与大家分享下: 第一种:循环检查替换 [javascript] 复制代码 代码如下: //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String("
-
JS实现快速比较两个字符串中包含有相同数字的方法
本文实例讲述了JS实现快速比较两个字符串中包含有相同数字的方法.分享给大家供大家参考,具体如下: 有两个字符串: $a = "5,8,0"; $b = "8,0,5"; 怎样快速比较这两个字符串包含的数字是相同的,其中分隔符都是相同的,只是数字的排序不一样,两个字符串长度是一样的 js代码: 方法一: var s1 = "5,0,8"; var s2 = "8,0,5"; if(s1.split(",").
-
javascript中比较字符串是否相等的方法
网上看了很多,比如==.equals都不行 还是外国网站给力,发现了方法. http://stackoverflow.com/questions/2167602/optimum-way-to-compare-strings-in-javascript用string_a.localeCompare(string_b) 方法去做:它会返回3个值0:字符串相等-1:字符串string_a<string_b.1:字符串string_a>string_b大家以后就可以使用正确的方法比较字符串了.
-
js处理json以及字符串的比较等常用操作
js处理json格式的插入.修改.删除,以及字符串的比较等常用操作 demo 1: json格式的插入.删除 复制代码 代码如下: <html> <head> <title></title> <script language="javascript"> function change(){ var obj=document.getElementById("floor"); if (document.getE
-
javascript 两个字符串比较函数
Untitled function diff(){ var s = f.s1.value; var s1 = f.s2.value; document.write("s: " + s + ""); document.write("s1: " + s1 + ""); function sort(s, a){ for(i=0; i list1[n]){ l[j] = list1[n]; if (n [Ctrl+A 全选 注:如需引
-
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
比较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; //
-
Js得到radiobuttonlist选中值的两种方法(推荐)
如下所示: <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="ajaxselect.OnmouseTitle.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
-
JS类定义原型方法的两种实现的区别评论很多
我们知道,给JavaScript类添加原形(prototype)方法是很简单的.而且常用的有下面这两种方法,可是这两种方法在使用时有区别吗? JScript Class: 复制代码 代码如下: function JSClass() { } Extends prototype method: 复制代码 代码如下: JSClass.prototype.MethodA = function() { }; Or 复制代码 代码如下: function = JSCla
-
IOS 开发之xcode对比两个分支中同一个文件
IOS 开发之xcode对比两个分支中同一个文件 对于同一个项目的两个分支,因为两个分支可能各自都做了一些修改,所以通过Source Control中的History...功能是无法查看的,如下图: 这个时候,我们需要用到xcode的另外一个功能,如图: 操作步骤: 1.点击图中标注为1红框中的按钮,中间的界面会出现并排的两个窗口3和4(窗口3为当前分支文件内容). 2.从另外一个分支的xcode窗口中选中同名的文件,然后使用"command+`"切换到当前的xcode窗口. 3.拖动
-
js实现仿爱微网两级导航菜单效果代码
本文实例讲述了js实现仿爱微网两级导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款仿爱微网两级导航菜单,tab选项卡形式的导航菜单,原生js做的tab选项卡型的导航菜单,需要鼠标点击才切换出二级子菜单,可修改成鼠标移过去就更换内容的形式. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-fawei-web-nav-menu-style-codes/ 具体代码如下: <html> <head> <title&g
-
JS判断非空至少输入两个字符的简单实现方法
dialog是我项目方法,你应该替换成alert(),或者你自己的 var str = $("#stuName").val(); if (str.length < 2) { dialog("提示", "text:请输入至少两位字符", 300, "auto", ""); return false; } str = str.replace(/(^\s*)|(\s*$)/g, '');//去除空格; if
-
js从输入框读取内容,比较两个数字的大小方法
因为从输入框读取的内容是String类型的,所以直接比较的话,是用asc码来比较的,如果要比较数字的大小应该加上parseFloat, 比如: if(parseFloat(amnt1) < parseFloat(amnt2)){} 以上这篇js从输入框读取内容,比较两个数字的大小方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
JS Input里添加小图标的两种方法
我们在做网页的时候,经常需要在input里面添加小图标,那么这里就介绍比较常见的两种方法. 方法一 将小图标当做input的背景来插入,直接上代码吧: <style type="text/css"> *{ margin: 0; padding: 0; } input{ border: none; } .box{ height: 50px; background: yellow; } .box input{ width: 200px; height: 30px; border
-
JS小球抛物线轨迹运动的两种实现方法详解
本文实例讲述了JS小球抛物线轨迹运动的两种实现方法.分享给大家供大家参考,具体如下: js实现小球抛物轨迹运动的大致思路: 1.用setInterval()方法,进行间隔性刷新,更新小球位置,以实现动态效果 2.绘制小球和运动区域,运动区域可通过flex布局实现垂直居中 3.用物理公式S(y)=1/2*g*t*t,S(x)=V(x)t来计算路径 现确定V(x)=4m/s,刷新的时间间隔设置为0.1s.原本px和米之间的转换,不同尺寸转换不同,本例采用17寸显示器,大约1px=0.4mm.但浏览器
-
JS实现不用中间变量temp 实现两个变量值得交换方法
1.使用加减法; var a=1; var b=2; a=a+b; b=a-b; a=a-b; 2.使用乘除法(乘除法更像是加减法向乘除运算的映射) var a=1; var b=2; a = a * b; b = a / b; a = a / b; 注意:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失 而且乘除时b不能为0; 3.使用数组的灵活性 var a=1; var b=2; a=[b,b=a][0]; 总结 以上所述是小编给大家介绍的JS实现不用中间变
随机推荐
- ExtJS4 动态生成的grid导出为excel示例
- jabsorb笔记_几个小例子第1/2页
- win7下FTP服务器配置访问教程
- Python利用正则表达式匹配并截取指定子串及去重的方法
- Hammer.js+轮播原理实现简洁的滑屏功能
- Linkbutton控件在项目中的简单应用
- php mssql扩展SQL查询中文字段名解决方法
- python正则表达式判断字符串是否是全部小写示例
- 举例讲解Go语言中函数的闭包使用
- .Net(c#)汉字和Unicode编码互相转换实例
- Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
- python getopt详解及简单实例
- asp按关键字查询XML的代码
- 使用jQuery实现图片遮罩半透明坠落遮挡
- 微信支付java版本之获取Access_token
- SpringJDBC批量处理数据代码示例
- C#特性-对象集合初始化器介绍
- 一个程序下载的管理程序(四)
- Android接收和发送短信的实现代码
- Android组件popupwindow使用方法详解