第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

第一章_數(shù)據(jù)類型_練習(xí)題解析

該編程題目主要考察對數(shù)據(jù)類型判斷的處理。題目要求正確區(qū)分基本類型,同時(shí)對象類型也有多種區(qū)分,所以使用typeof不能滿足條件,需要自己擴(kuò)展。


以下為一種解法:

/**
?*?String,?Boolean,?Number,?undefined,?null,?函數(shù),日期,?window
?*/
function?arraysSimilar(arr1,?arr2)?{
????//?判斷參數(shù),確保arr1,?arr2是數(shù)組,若不是直接返回false
????if?(!(arr1?instanceof?Array)
????????||?!(arr2?instanceof?Array))?{
????????return?false;
????}

????//?判斷長度
????if?(arr1.length?!==?arr2.length)?return?false;

????var?i?=?0,?
????????n?=?arr1.length,?
????????countMap1?=?{},??//?用來計(jì)算數(shù)組元素?cái)?shù)據(jù)類型個(gè)數(shù)的map,key是TYPES中的類型字符串,value是數(shù)字表示出現(xiàn)次數(shù)。
????????countMap2?=?{},
????????t1,?t2,
????????TYPES?=?['string',?'boolean',?'number',?'undefined',?'null',
????????????'function',?'date',?'window'];

????//?因?yàn)槭菬o序的,用一個(gè)對象來存儲(chǔ)處理過程。key為類型,?value為該類型出現(xiàn)的次數(shù)。
????//?最后校驗(yàn):若每一種數(shù)據(jù)類型出現(xiàn)的次數(shù)都相同(或都不存在),則證明同構(gòu)。
????for?(;?i?<?n;?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;
????????}
????}

????//?因?yàn)閠ypeof只能判斷原始類型,且無法判斷null(返回"object"),所以自己寫typeof方法擴(kuò)展。
????function?typeOf(ele)?{
????????var?r;
????????if?(ele?===?null)?r?=?'null';?//?判斷null
????????else?if?(ele?instanceof?Array)?r?=?'array';??//?判斷數(shù)組對象
????????else?if?(ele?===?window)?r?=?'window';??//?判斷window
????????else?if?(ele?instanceof?Date)?r?=?'date'??//?判斷Date對象
????????else?r?=?typeof?ele;?//?其它的,使用typeof判斷
????????return?r;
????}

????for?(i?=?0,?n?=?TYPES.length;?i?<?n;?i++)?{
????????if?(countMap1[TYPES[i]]?!==?countMap2[TYPES[i]])?{
????????????return?false;
????????}
????}

????return?true;
}


請結(jié)合注釋去看就好,有問題回帖。

另外也給網(wǎng)友XadillaX提供的較為精妙的解法:

var?global?=?window;
function?arraysSimilar(arr1,?arr2){
????return?(arr1?instanceof?Array?&&?arr2?instanceof?Array)?&&?JSON.stringify(arr1.map(function(v)?{
????????return?null?===?v???"?"?:?(v?instanceof?Date???"?"?:?(v?===?global???"?"?:?typeof?v));
????}).sort())?===?JSON.stringify(arr2.map(function(v)?{
????????return?null?===?v???"?"?:?(v?instanceof?Date???"?"?:?(v?===?global???"?"?:?typeof?v));
????}).sort());
}


正在回答

15 回答

如何將數(shù)組的每個(gè)值與另一數(shù)組的所有值做比較,肯定要雙重for,其他不知道

0 回復(fù) 有任何疑惑可以回復(fù)我~

for(i=0,i<arr1.length, i++){
????????? for(j=0,j<arr2.enght,i++){
objet.prototype.class(array1【i】)=objet.prototype.class(array2【j】)
}
}

0 回復(fù) 有任何疑惑可以回復(fù)我~

function array(arr1,arr2){
?
? if(arr1 instanceof Array&&arr2 instanceof Array)
? ;else{
? document.write("不相似");
?? return false;
? };
? if(arr1.length==arr2.length);
? else { document.write("不相似");
?? return false;
? };
? if(exist(arr1,Object)==exist(arr2,Object));
? else { document.write("不相似");
?? return false;
? };
? if(exist(arr1,Number)==exist(arr2,Number));
? else { document.write("不相似");
?? return false;
? };
? if(exist(arr1,String)==exist(arr2,String));
? else { document.write("不相似");
?? return false;
? };
? if(exist(arr1,Boolean)==exist(arr2,Boolean));
? else { document.write("不相似");
?? return false;
? };
? document.write("數(shù)組相似");
? return true;
? }
? function exist(arr,object){
? for(var i=0;i<arr.length;i++)
? {if(arr[i] instanceof object==true)
? return true;
? }return false;}

1 回復(fù) 有任何疑惑可以回復(fù)我~

這門課程是不是還沒做完啊,還有后續(xù)章節(jié)?

0 回復(fù) 有任何疑惑可以回復(fù)我~

我去這第二種還有小花太陽什么的。。略高深

0 回復(fù) 有任何疑惑可以回復(fù)我~

好深?yuàn)W!!

0 回復(fù) 有任何疑惑可以回復(fù)我~


for?(i?=?0,?n?=?TYPES.length;?i?<?n;?i++)?{
????????if?(countMap1[TYPES[i]]?!==?countMap2[TYPES[i]])?{
????????????return?false;
????????}
????}

這段判斷成員類型?不是說順序不同嗎……這樣判斷不就是要按照順序來嗎。小白表示不理解

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

2517125

這個(gè)好像是判斷map的value是否相同,即某個(gè)類型出現(xiàn)的次數(shù)是否相同
2015-08-20 回復(fù) 有任何疑惑可以回復(fù)我~
#2

一二三牽著手

type那個(gè)數(shù)組是有序的
2016-03-11 回復(fù) 有任何疑惑可以回復(fù)我~

第二段代碼里面,return?null?===?v???"?"?:?(v?instanceof?Date???"?"?:?(v?===?global???"?"?:?typeof?v));

怎么顯示的太陽 心 和花? ?只有我一個(gè)人瀏覽器這樣么?還是說本來就是太陽,心 和花 ? = =


2 回復(fù) 有任何疑惑可以回復(fù)我~

?function arraysSimilar(arr1, arr2){

? ? ? ? if(arr1.length!=arr2.length)

? ? ? ? {

? ? ? ? ? ?document.write("判定結(jié)果:不通過");

? ? ? ? }

? ? ? ? else?

? ? ? ? {

? ? ? ? ? ? foreach(a1 in arr1)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? foreach(b1 in arr2)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? if(typeof a1!=typeof b1){return false;}

? ? ? ? ? ? ? ?}

? ? ? ? ? ? }

? ? ? ? ? ? return true;

? ? ? ? }

? ? ? ? }

這樣寫對不對啊?

0 回復(fù) 有任何疑惑可以回復(fù)我~

http://gaohaoyang.github.io/2015/04/06/arrays-similar/

我寫的這個(gè)代碼如何?沒有用任何JavaScript的函數(shù),我自己想了好久才寫出來的。

老師看一下吧~

1 回復(fù) 有任何疑惑可以回復(fù)我~
首頁上一頁12下一頁尾頁

舉報(bào)

0/150
提交
取消

第一章_數(shù)據(jù)類型_練習(xí)題解析

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號