亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

對這個題目仍然存在疑惑,求助!

????<script?type="text/javascript">???????????
????/*?????????
????*?param1?Array??????????
????*?param2?Array?????????
????*?return?true?or?false?????????
????*?數組中的成員類型相同,順序可以不同。例如[1,?true]?與?[false,?2]是相似的。這里可以運用sort()進行排序
????*?數組的長度一致,這里只要arr1.length=arr2.length?????????
????*?類型的判斷范圍,需要區分:String,?Boolean,?Number,?undefined,?null,?函數,日期,?window.?????????
????*?這里意在針對每一個值都要精確到以上分類?????????
????*/
????function?arraysSimilar(arr1,?arr2)?
????{
??????answer?=?true;????
??????//先判斷是否是數組,因為大數組的最后三個并不是數組,而是單獨的元素
??????if?(arr1?instanceof?Array?===?true?&&?arr2?instanceof?Array?===?true)?
??????{
???????if?(arr1.length?==?arr2.length)?//先確定數組長度一致
?????????{?
?????????var?arrType1?=?[],arrType2?=?[];
?????????for?(var?i?=?0,?len?=?arr1.length;?i?<?len;?++i)?
?????????{
???????????arrType1[i]?=?Object.prototype.toString.apply(arr1[i]);
???????????arrType2[i]?=?Object.prototype.toString.apply(arr2[i]);
?????????}?
?????????arrType1.sort(),?arrType2.sort();?//對數組進行無差別排序
?????????if?(arrType1.toString()?!=?arrType2.toString())?
?????????{??
????????????answer?=?false;
??????????}}?
??????????else?{answer?=?false}
?????????}?
?????else?
?????{answer?=?false;?//因為看了js里面后三個都是false所以偷了個懶}
???????return?answer;
????}????
?</script>


正在回答

1 回答

最后雖然通過了,但是我有兩個問題想請教大家;

  1. 對于最后三個數據的判斷應該如何書寫?觀察了Typeof、instanceof和Object.prototype.toString:發現都沒有很適合,還是說可以這么來,先判斷類型是否一致,再判斷值是否一致,因為最后一個數組是字符串;

  2. arrType2.toString()這個用法我在百度上查了是不好的用法,有更好的推薦嘛?for循環有點麻煩。對于為什么要對得到類型后的組合進行排序,是因為值就那么多,且在長度相同的情況下,肯定會對應的上的。但這里也存在不嚴謹,如果真的要十分嚴謹的話會非常復雜TT

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

對這個題目仍然存在疑惑,求助!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號