課程
/前端開(kāi)發(fā)
/JavaScript
/JavaScript深入淺出
問(wèn)題如題目,是什么原因呢??求大神幫幫忙~~
2017-10-24
源自:JavaScript深入淺出 1-6
正在回答
for循環(huán)里面的i、j不加var關(guān)鍵字,則為全局變量,到case2時(shí)這個(gè)i==case1.arr1.length
思路是判斷兩個(gè)數(shù)組中每種類型的元素個(gè)數(shù)相同則判斷數(shù)組相似?
function?arraysSimilar(x,?y)?{ ??//?判斷是否都是數(shù)組 ??if?(!x?instanceof?Array?||?!y?instanceof?Array)?{ ????return?false; ??} ??//?判斷數(shù)組長(zhǎng)度是否一致 ??if?(x.length?!=?y.length)?{ ????return?false; ??} ??//?獲取數(shù)組元素的具體類型?,?按要求分類 ??//?如果每種類型的元素個(gè)數(shù)相同則判斷數(shù)組相似 ??types_of_x?=?getTypes(x); ??types_of_y?=?getTypes(y); ??//?console.log(getTypes(x)) ??//?對(duì)這兩個(gè)數(shù)組的類型進(jìn)行比較,?如果某個(gè)類型的元素個(gè)數(shù)不同則直接false ??result?=?true ??for(k?in?types_of_x)?{ ????if(types_of_x[k]?!=?types_of_y[k]){ ??????result?=?false?; ??????//?console.log(?k?+?"?elements?count?not?equal"); ??????break; ????} ??} ??return?result; } function?getTypes(target)?{ ??types_of_target?=?{ ????"number":?0, ????"string":?0, ????"boolean":?0, ????"undefined":?0, ????"function":?0, ????"null":?0, ????"date":?0, ????"array":?0, ????"other":?0, ??} ??//target?是數(shù)組,?直接用map遍歷 ??//typeof?返回的是基本數(shù)據(jù)類型(string,?boolean?,number,undefined,)?+?function?+?object ??//object?需要單獨(dú)拿出來(lái),除object需要進(jìn)一步instanceof外?,?其他都只需要typeof即可 ??target.map(function?(element)?{ ????//對(duì)象類型 ????if?(typeof(element)?==?"object")?{ ??????//?對(duì)基本類型?null?進(jìn)行單獨(dú)處理,?因?yàn)閠ypeof(null)?的輸出是object ??????if?(element?==?null)?{ ????????return?types_of_target['null']++; ??????} ??????//判斷對(duì)象類型的,?具體類別 ??????if(?element?instanceof?Date)?{ ????????return?types_of_target["date"]?++?; ??????} ??????//數(shù)組類型 ??????if(?element?instanceof?Array?)?{ ????????return?types_of_target["array"]?++; ??????} ??????//如果不是以上類型?,?則是其他對(duì)象類型 ??????return?types_of_target["others"]?++; ????}?else ????{ ??????//除對(duì)象類型外?,?基本類型(除null外),?還有function?類型,?直接賦值 ??????type?=?typeof?(element) ??????//?console.log("element?"?+?element?+?"?type?is?"+?type) ??????if?(!types_of_target[type])?{ ????????types_of_target[type]?=?1; ??????}?else?{ ????????types_of_target[type]++; ??????} ????} ??}) ??return?types_of_target; } arr_1?=?[1,?true,?new?Date(),?undefined,?function?fun()?{ },?[1,?2,?3],?false,?"yes"]; arr_2?=?[false,?2,?"no",?45,?67,?89,?true,?1] arr_3?=?[false,?20,?"yes",?45,?67,?79,?1,false] console.log(arraysSimilar(arr_2,?arr_3)); console.log(arraysSimilar(arr_1,?arr_3));
哪里有case呀。。
舉報(bào)
由淺入深學(xué)習(xí)JS語(yǔ)言特性,且解析JS常見(jiàn)誤區(qū),從入門到掌握
3 回答為什么我的編程練習(xí)代碼在慕課里邊輸不出來(lái)判定結(jié)果:通過(guò),而在編程軟件上(DW)上就能輸出來(lái)
2 回答為什么第一個(gè)練習(xí)就做不出來(lái)
2 回答后3個(gè)判斷不了?
1 回答老濕,怎么后面都沒(méi)有出習(xí)題了?
4 回答[]==[] 結(jié)果輸出“false”
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-02-01
for循環(huán)里面的i、j不加var關(guān)鍵字,則為全局變量,到case2時(shí)這個(gè)i==case1.arr1.length
2017-10-24
思路是判斷兩個(gè)數(shù)組中每種類型的元素個(gè)數(shù)相同則判斷數(shù)組相似?
2017-10-24
哪里有case呀。。