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

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

箭頭函數(shù)中 Object.values() 的未知行為

箭頭函數(shù)中 Object.values() 的未知行為

桃花長相依 2023-12-11 10:22:53
我正在 Vannila JS 中制作隨機密碼生成器,我在以下代碼中面臨未知問題:function generatePassword(lower, upper, number, symbol, length) {  let generatedPassword = "";  const typesCount = lower + upper + number + symbol;  const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(    (item) => Object.values(item)[0]  );  // Doesn't have a selected type  if (typesCount === 0) {    return "";  }  // create a loop  for (let i = 0; i < length; i += typesCount) {    typesArr.forEach((type) => {      const funcName = Object.keys(type)[0];      generatedPassword += randomFunc[funcName]();    });  }  const finalPassword = generatedPassword.slice(0, length);  return finalPassword;}在此代碼塊中,如果我將語句括在大括號 {} 中,則Object.values(item)[0]將不起作用:const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(    (item) => Object.values(item)[0]  );我不明白為什么會發(fā)生這種情況,我嘗試搜索文檔但無濟于事,謝謝!
查看完整描述

1 回答

?
慕田峪9158850

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

為了使 Filter 函數(shù)正確工作,它需要返回。虛假價值的真實。


當你寫成這樣


const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(

    (item) => Object.values(item)[0]

  );

結果隱式返回,即。Object.values(item)[0] 是返回值


但是如果你這樣寫


const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(

    (item) => { Object.values(item)[0] }

  ); 

您還沒有從過濾器函數(shù)返回任何值,您需要為其添加一個 return 語句,例如


const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(

    (item) => { return Object.values(item)[0]; }

);


查看完整回答
反對 回復 2023-12-11
  • 1 回答
  • 0 關注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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