请教如何比较两个hash是否相同

如题所述

1、新建一个html文件,命名为test.html。

2、在js标签内,使用“[]”创建两个数组,分别保存在变量a和变量b中。

3、在js标签内,再创建一个变量temp,初始值为1,用于记录数组是否相同。当它为1时,表示两个数组相同,当它为0时,表示两个数组为不相同。

4、在js标签内,首先通过length属性分别获得两个数组的长度,使用if语句判断两个数组的长度是否相等,如果不相等,temp变量为0。

5、在js标签内,如果两个数组长度相等,则使用for循环遍历两个数组内的每一个元素,通过if语句逐个判断元素是否相等,若有数组元素不相等,temp变量为0。

6、在js标签内,使用if判断temp值,当temp为1时,使用alert()方法提示“两个数组相同”,否则,提示“两个数组不相同”。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-18
在HashSet中比较两个对象是否相等的方法是:先比较两个对象的hashCode()值是否相等,如果不相等就认为两个对象是不相等的,如果两个对象的hashCode相等就继续调用equals()方法进一步判断两个对象是否相等,如果equals()方法返回true认为两个对象相等,返回false认为两个对象不相等。
第2个回答  2016-04-18
#!/usr/bin/perl
sub hashcompare {
@hasharray=@_;
my $key1str=join "|",keys(%{$hasharray[0]});
my $key2str=join "|",keys(%{$hasharray[1]});
if($key1str eq $key2str)
{
$val1str=join "|",values(%{$hasharray[0]});
$val2str=join "|",values(%{$hasharray[1]});
if($val1str eq $val2str)
{
return 1;
}
else
{
return 0;
}
}
}
%hash1=("one"=>;1,"two"=>;2);
%hash2=("one"=>;2,"two"=>;2);
if(hashcompare(\%hash1,\%hash2))
{
print "两个hash相同\n";
}
else
{
print "两个hash不相同\n";
}
希望来的不晚。我自己写的一个小函数。请斧正本回答被网友采纳
相似回答