如何判断两个数组内容类型一致但顺序可变?

2026-04-06 12:391阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计209个文字,预计阅读时间需要1分钟。

如何判断两个数组内容类型一致但顺序可变?

javascriptarraysSimilar(arr1, arr2) { if (!(arr1 instanceof Array) || !(arr2 instanceof Array)) return false; if (arr1.length !==arr2.length) return false;

var i=0, n=arr1.length, countMap1={}, countMap2={};

for (; i

for (var key in countMap1) { if (countMap1[key] !==countMap2[key]) return false; }

return true;}

arraysSimilar.js

function arraysSimilar(arr1, arr2){ if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){ return false; } if(arr1.length != arr2.length){ return false; } var i=0,n=arr1.length,countMap1={},countMap2={},t1,t2,TYPES=['string','boolean','number','undefined','null','function','date','window']; for(;i < n;i++){ t1 = typeOf(arr1[i]); t2 = typeOf(arr2[i]); if(countMap1[t1]){ countMap1[t1]++; } else { countMap1[t1] = 1; } if(countMap2[t2]){ countMap2[t2]++; } else { countMap2[t2] = 1; } } function typeOf(ele){ var r; if (ele === null) r='null'; else if (ele instanceof Array) r='array'; else if (ele === window) r='window' else if (ele instanceof Date) r = 'date' else r = typeof ele; return r; } for (i = 0,n = TYPES.length;i < n;i++){ if(countMap1[TYPES[i]] !== countMap2[TYPES[i]]){ return false; } } return false; }

如何判断两个数组内容类型一致但顺序可变?

本文共计209个文字,预计阅读时间需要1分钟。

如何判断两个数组内容类型一致但顺序可变?

javascriptarraysSimilar(arr1, arr2) { if (!(arr1 instanceof Array) || !(arr2 instanceof Array)) return false; if (arr1.length !==arr2.length) return false;

var i=0, n=arr1.length, countMap1={}, countMap2={};

for (; i

for (var key in countMap1) { if (countMap1[key] !==countMap2[key]) return false; }

return true;}

arraysSimilar.js

function arraysSimilar(arr1, arr2){ if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){ return false; } if(arr1.length != arr2.length){ return false; } var i=0,n=arr1.length,countMap1={},countMap2={},t1,t2,TYPES=['string','boolean','number','undefined','null','function','date','window']; for(;i < n;i++){ t1 = typeOf(arr1[i]); t2 = typeOf(arr2[i]); if(countMap1[t1]){ countMap1[t1]++; } else { countMap1[t1] = 1; } if(countMap2[t2]){ countMap2[t2]++; } else { countMap2[t2] = 1; } } function typeOf(ele){ var r; if (ele === null) r='null'; else if (ele instanceof Array) r='array'; else if (ele === window) r='window' else if (ele instanceof Date) r = 'date' else r = typeof ele; return r; } for (i = 0,n = TYPES.length;i < n;i++){ if(countMap1[TYPES[i]] !== countMap2[TYPES[i]]){ return false; } } return false; }

如何判断两个数组内容类型一致但顺序可变?