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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對帶條件的 For/Over 循環(huán)的說明

對帶條件的 For/Over 循環(huán)的說明

慕村225694 2023-02-17 16:19:03
閱讀 O'Reilly 的 JS 權(quán)威指南,發(fā)現(xiàn)了這段代碼:let freq = {};for (let item of "alabama") {   if (freq[item]) {     freq[item]++;  } else {     freq[item] = 1;  } }只想復(fù)習(xí)一些語法和含義:將空對象分配給“freq”變量在給定的字符串上運行 for/of 循環(huán)If 語句檢查 freq[item] 是否返回 true .. 我明白了那部分但是什么會觸發(fā)那個 truthy 值?那么如何觸發(fā)虛假值以產(chǎn)生值 1 呢?預(yù)先感謝!
查看完整描述

3 回答

?
拉風(fēng)的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

首先,請記住,在使用 迭代字符串時for..of,為每個循環(huán)聲明的項目(您已命名為item)是字符串的每個字符。

由于該對象一開始是空的,freq[item]因此最初是undefined. 例如,在第一次迭代中,{}['a']isundefined是假的,因此else輸入:

freq['a'] = 1;

a在隨后的迭代中,當(dāng)找到該字符時,該a屬性存在于對象上,因此if輸入 ,增加該屬性值:

freq['a']++;


查看完整回答
反對 回復(fù) 2023-02-17
?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

第一次發(fā)現(xiàn)不在對象中的字母時,它將返回 undefined


1) a

    freq['a'] will be undefined 

    therefore the code will set a 1 to it 

    freq['a'] = 1

2) l will go through the same steps as #1

3) a 

    freq['a'] will be 1 

    so it's truthy therfore we add 1 to it 

    freg['a'] ++; which will make it 2

然后你可以按照相同的模式找出其余的


查看完整回答
反對 回復(fù) 2023-02-17
?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

在 javascript 中以下是錯誤的 "",false,0,undefined,null..在你的情況下 freq 是一個空對象

freq ={}

在循環(huán)的第一次迭代中

item = 'a'

freq[item]freq[item]如果在 else 中是false 這樣,則將是未定義的freq[item] = 1。 第二次迭代第三次迭代freq={a:1} 的方法相同 freq={a:1,l:1}

item = 'a'

freq[item]將是1 iffreq[item]將是真實的并且遞增freq={a:2,l:1}


查看完整回答
反對 回復(fù) 2023-02-17
  • 3 回答
  • 0 關(guān)注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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