87,920
社区成员
发帖
与我相关
我的任务
分享
var arr1 = [1,2,4,9,5]
var arr2 = [2,7,0,5,6]
var a1 = arr1.sort(), a2 = arr2.sort();
(function a(){
if(a1.length == 0){
for(o2 in a2){
document.write("X___"+a2[o2]+"___不一样<br/>");
}
return;
}else if(a2.length == 0){
for(o1 in a1){
document.write(a1[o1]+"___X___不一样<br/>");
}
return;
}
if(a1[0] == a2[0]){
document.write(a1[0]+"___"+a2[0]+"___一样<br/>");
a1.shift();
a2.shift();
}else if(a1[0] < a2[0]){
document.write(a1[0]+"___X___不一样<br/>");
a1.shift()
}else{
document.write("X___"+a2[0]+"___不一样<br/>");
a2.shift();
}
a();
})();
using System;
using System.Collections;
namespace TableCompare
{
/// <summary>
/// DictionaryBase字典类
/// </summary>
public class ClassOject : DictionaryBase
{
/// <summary>
/// 添加字典
/// </summary>
/// <param name="Key">键名称</param>
/// <param name="Value">键值</param>
public void Add(object Key, object Value)
{
Dictionary.Add(Key,Value);
}
/// <summary>
/// 删除字典
/// </summary>
/// <param name="Key">键名称</param>
public void Remove(object Key)
{
Dictionary.Remove(Key);
}
/// <summary>
/// 是否已经添加过字典
/// </summary>
/// <param name="Key">键名称</param>
/// <returns>是否添加过</returns>
public bool Contains(object Key)
{
return Dictionary.Contains(Key);
}
/// <summary>
/// 获取值
/// </summary>
/// <param name="Key">键名称</param>
/// <returns></returns>
public object this[object Key]
{
get { return Dictionary[Key]; }
set { Dictionary[Key] = value; }
}
}
public class test
{
/// <summary>
/// 结果
/// </summary>
enum Result
{
完全不同,
相同,
有点不同
}
[STAThread]
public static void Main(string[]Args)
{
ClassOject tbA = new ClassOject();
ClassOject tbB = new ClassOject();
tbA.Add("0001", "A1");
tbA.Add("0002", "B1");
tbA.Add("0003", "A2");
tbB.Add("0002", "B1");
tbB.Add("0003", "B1");
tbB.Add("0004", "A2");
Console.WriteLine("A".PadRight(20, ' ') + "B".PadRight(20, ' ') + "比较结果".PadRight(20, ' '));
Console.WriteLine("_".PadRight(60, '_'));
Result result;
foreach (DictionaryEntry de in tbA)
{
Console.Write((de.Key + "," + de.Value).PadRight(20, ' '));
if (tbB.Contains(de.Key))
{
if (tbB[de.Key] == de.Value)
{
Console.Write((de.Key + "," + de.Value).PadRight(20, ' '));
result = Result.相同;
tbB[de.Key] = "-1" + de.Value;//加个-1标志,表示比较过了
}
else
{
Console.Write((de.Key + "," + tbB[de.Key]).PadRight(20, ' '));
result = Result.有点不同;
tbB[de.Key] = "-1" + de.Value;//加个-1标志,表示比较过了
}
}
else
{
Console.Write(" ".PadRight(20));
result = Result.完全不同;
}
Console.WriteLine(result.ToString().PadRight(20, ' '));
//Console.WriteLine();
}
result = Result.完全不同;
//下面输出B中在A中完全不同的
foreach (DictionaryEntry de in tbB)
{
if (!de.Value.ToString().StartsWith("-1"))
{
Console.Write(" ".PadRight(20));
Console.Write((de.Key + "," + de.Value).PadRight(20, ' '));
Console.WriteLine(result.ToString().PadRight(20, ' '));
}
}
}
}
}