請問同學代碼里面點贊第一的我理解錯了沒???還有不懂的地方有學霸可以解釋一下嗎?
<!DOCTYPE HTML>
<html>
<head>
? ? <meta http-equiv="Content-Type" content="text/html; charset=gb18030">
? ? <title>Untitled Document</title>
? ??
</head>
<body>
? ? <script type="text/javascript">? ?
? ? ? ? /*
? ? ? ? ?* param1 Array?
? ? ? ? ?* param2 Array
? ? ? ? ?* return true or false
? ? ? ? ?*/
? ? ? ? ? function type(a){
? ? ? ? ? ? return? a === null ? '[object Null]':Object.prototype.toString.apply(a); //hack ie678
? ? ? ? ? ? //判斷并獲取TYPE類型
? ? ? ? }
? ? ? ? function arraysSimilar(arr1, arr2){
? ? ? ? if(!Array.isArray(arr1)||!Array.isArray(arr2)||arr1.length!==arr2.length){return false;}//判斷是否是數組,數組長度是否相等。
? ? ? ? var arr3=[];
? ? ? ? ?var arr4=[];
? ? ? ? for(var i in arr1){
? ? ? ? ? ? arr3.push(type(arr1[i]));
? ? ? ? ? ? arr4.push(type(arr2[i]));
? ? ? ? }//轉換數組變量type給arr3,arr4?
? ? ? ? //?為什么for-in只在arr1里面迭代
? ? ? ? if(arr3.sort().toString()==arr4.sort().toString()){
? ? ? ? ? ? return true;
? ? ? ? }
? ? ? ? else{
? ? ? ? ? ? return false;
? ? ? ? }//比較排序后的數組字符串是否相等
? ? ? ? }
? ? </script>
? ? <script src="testData.js"></script>
</body>
</html>
2018-09-20
轉換數組變量type給arr3,arr4?--- 這個只是為了將對應的元素的類型放在新的數組里
為什么for-in只在arr1里面迭代---因為兩個數組的長度一樣,所以使用哪一個迭代都一樣的
2019-02-09
?return? a === null ? '[object Null]':Object.prototype.toString.apply(a);里面的[object Null]這個是什么東西,干什么的?