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数据库中导出的表有那些没导入成功.
['asd', 'ff', 'gg', 'asd', 'foo', 'og']
这种一般用于处理日志或者网页数据提取,一般而言,这种数据
中
需要的数据分布规律性不是太强,而且
比较
散。
处理结果如下:
import re
line = 'asd ff gg; asd , foo| og '
data = re.split(r'[;,|\s]\s*',line)
for i in dat
js
提供了
字符串
的对比方法localeCompare(),该方法返回的是一个数字用来
表
示一个参考
字符串
和对比
字符串
是排序在前,在后或者相同。该方法基本不单独使用,大部分时间是配合
字符串
排序使用的。
一、语法:
string.localeCompare(targetString,locales,options);
targetString:对比
字符串
locales:看MDN上的解释是用来
表
示一种或多种语言或区域的一个符合BCP 47标准的
字符串
或一个
字符串
数组,我个人的理解是
var str1 = "tie, mao, 55";
var str2 = "tie, mao, csdn";
var result =
diff
(str1, str2, ','); // 对象
var rs = "" + result; // " 55, csdn"
var df1 = result.
diff
1; // [" 55"]
var df2 = result.
diff
2; // [" csdn"]
//
比较
2个
字符串
内
元素
的
不同
(
字符
1,
字符
2,
分隔符
可选
)
getHighLight
Diff
erent(a, b) {
var temp = this.get
Diff
Array(a, b);
var a1 = this.getHighLight(a, temp[0]);
var a2 = this.getHighLight(b, temp[1]);
return new Array(a1, a2);
getHighLight(source, temp) {
·concat() – 将
两个
或多个
字符
的文本组合起来,返回一个新的
字符串
。
·indexOf() – 返回
字符串
中
一个子串第一处出现的索引。如果没有匹配项,返回 -1 。
·charAt() – 返回指定位置的
字符
。
·lastIndexOf() – 返回
字符串
中
一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。
·match() – 检查一个
字符串
是否匹配一个正则
表
达式。
var s1 = 5,0,8;
var s2 = 8,0,5;
if(s1.split(,).sort().join(,) == s2.split(,).sort().join(,)) {
alert(数字相同);
}else{
alert(数字
不同
);
字符串
进行大于(小于)
比较
时,会根据第一个
不同
的
字符
的ASCII值码进行
比较
;
数字
字符串
与数字
比较
时,数字
字符串
会转换成数字再进行大小
比较
;
非数字
字符串
与数字
比较
时,非数字
字符串
会转换成NaN,NaN与任何
比较
都返回false。
console.log('1.2.2a' > '1.2.2b'); // false
console.log('1.02.1' > '1.1'); /
一 : 冒泡排序人们开始学习排序算法时,通常都先学冒泡算法,因为它在所有排序算法
中
最简单。然而, 从运行时间的角度来看,冒泡排序是最差的一个,接下来你会知晓原因冒泡排序
比较
所有相邻的
两个
项,如果第一个比第二个大,则交换它们。
元素
项向上移动至 正确的顺序,就好像气泡升至
表
面一样,冒泡排序因此得名。export function bubbleSort(arr: number[]) {
for ...
var two = [a,b,c,d,e];
for (var i=0;i<two.length; i++) {
//indexOf() 方法可返回某个指定的
字符串
值在
字符串
中
首次出现的位置。
//注释:indexOf() 方法对大小写敏感!
//...