繁体   English   中英

JavaScript关联数组比较

[英]JavaScript associate arrays comparing

我想我有三个数组:

dict['tag'] = 'INPUT';
dict['type'] = 'checkbox';
dict['name'] = 'remember'

dict2['tag'] = 'INPUT2';
dict2['type'] = 'checkbox';
dict2['name'] = 'remember';

dict3['type'] = 'checkboxEdit';
dict3['name'] = 'remember'
dict3['tag'] = 'INPUT3';

现在我要实现的是,我想知道即使不对数组进行排序,数组中有多少个元素也是相等的,例如

function(dict, dict2) return 2 //cause input values are not the same
function(dict, dict3) return 1 //cause name values are the same
function(dict2, dict3) return 1 //cause name values are the same

最有效的方法是什么? 数据结构也可以更改,所以如果有更好的信息,请告诉我。

这很简单。

 var dict = {}, dict2 = {}, dict3 = {}; dict['tag'] = 'INPUT'; dict['type'] = 'checkbox'; dict['name'] = 'remember' dict2['tag'] = 'INPUT2'; dict2['type'] = 'checkbox'; dict2['name'] = 'remember'; dict3['type'] = 'checkboxEdit'; dict3['name'] = 'remember' dict3['tag'] = 'INPUT3'; function compare(d1, d2) { var count = 0; Object.keys(d1).forEach(function (k) { if(d1[k] === d2[k]) count++; }); return count; } alert(compare(dict, dict2)); alert(compare(dict, dict3)); alert(compare(dict2, dict3)); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM