<!DOCTYPE?HTML>
<html>
<head>
????<meta?http-equiv="Content-Type"?content="text/html;?charset=gb18030">
????<title>Untitled?Document</title>
????
</head>
<body>
????<script?type="text/javascript">???
????????/*string?boolean.?number,underfined?null?function?date?window
?????????*?param1?Array?
?????????*?param2?Array
?????????*?return?true?or?false
?????????*/
????????function?arraysSimilar(arr1,?arr2){
????????if(!(arr1?instanceof?Array)?||?!(arr2?instanceof?Array)){
????????????return?false
????????}
????????if(arr1.length!==arr2.length){
????????????return?false
????????}
????????var?type=["string",'boolean','numbwe','undefined','null','function','date','window'];
????????var?i?=?0,
????????t1,t2,
????????countMap1={},
????????countMap2={};
????????
????????for?(i;i<arr1.length;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===window)?r='window';
????????????else?if(ele?instanceof?Date)?r='date';
????????????else?if(ele?instanceof?Array)?r='array';
????????????else?r=?typeof?ele
????????????return?r;
????????}
???????
????????
????????for(i=0;i<type.length;i++){
????????????if(countMap1[type[i]]!==countMap2[type[i]]){
????????????????return?false
????????????}
????????}
????????
????????
????????return?true
????????}
????</script>
????<script?src="testData.js"></script>
</body>
</html>
2017-11-18
明白了~謝謝
2017-11-18
你自己打的代碼 自己都不知道嗎 看判斷條件,這兩個(gè)數(shù)組,內(nèi)容長(zhǎng)度,內(nèi)容類型,內(nèi)容類型出現(xiàn)次數(shù)不同則為false;arr1=[1,'str',[1,2]];arr2=[1,[1,2],'str2']這倆就true,把a(bǔ)rr2中的1 改為‘a(chǎn)'就為false了