求問,哪里出問題了?
<!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 arraysSimilar(arr1, arr2){
??????????? if(arr1 instanceof Array&& arr2 instanceof? Array){
??????????????? if(arr1.length==arr2.length){
??????????????????? a1=arr1.sort();
?? ??? ??? ??? ??? ?a2=arr2.sort();
??????????????????? for(i=0,i<arr1.length,i++){
??????????????????????? if(Object.prototype.toString.apply(a1[i]) == Object.prototype.toString.apply(a2[i])){
??????????????????????????? return true;
??????????????????????? }
??????????????????? }?????????????? ?
??????????????? }else{
??????????????????? return false;
??????????????? }
??????????? }else{
??????????????? return false;
??????????? }
?????? ?
??????? }
??? </script>
??? <script src="testData.js"></script>
</body>
</html>
2020-03-04
<!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
? ? ? ? ?*/
? ? ? ? var allList = []
? ? ? ? function arraysSimilar(arr1, arr2){
? ? ? ? ? ? let typeList1 = getTypeList(arr1)
? ? ? ? ? ? let typeList2 = getTypeList(arr2)
? ? ? ? ? ? return (typeList1.length? === allList.length) && (typeList2.length? === allList.length)
? ? ? ? }
? ? ? ? function getTypeList(arr) {
? ? ? ? ? ? let typeList = []
? ? ? ? ? ? arr.forEach(item => {
? ? ? ? ? ? ? ? let type = Object.prototype.toString.call(item)
? ? ? ? ? ? ? ? if (typeList.indexOf(type) < 0) {
? ? ? ? ? ? ? ? ? ? typeList.push(type)
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (allList.indexOf(type) < 0) {
? ? ? ? ? ? ? ? ? ? allList.push(type)
? ? ? ? ? ? ? ? }
? ? ? ? ? ? })
? ? ? ? ? ? return typeList
? ? ? ? }
? ? </script>
? ? <script src="testData.js"></script>
</body>
</html>
2020-03-04
? if(arr1 instanceof Array&& arr2 instanceof? Array) {...}else{return false}
這句話的意思是如果arr1和arr2都是Array的實例的話就執行...,否則返回false。這樣寫的話如果兩個不是Array就會返回false.