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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

JS 無法對(duì)數(shù)組項(xiàng)調(diào)用函數(shù)

JS 無法對(duì)數(shù)組項(xiàng)調(diào)用函數(shù)

慕慕森 2022-10-08 17:31:14
我創(chuàng)建了一個(gè)函數(shù)來檢查數(shù)組的元素是否可被下一項(xiàng)整除。如果不是,則應(yīng)從數(shù)組中刪除下一項(xiàng)。我創(chuàng)建了一個(gè)由兩個(gè)數(shù)組組成的測(cè)試數(shù)組。當(dāng)我遍歷它們并 console.log 它們時(shí),它們會(huì)按預(yù)期返回。當(dāng)我在 for 循環(huán)而不是 console.log 中調(diào)用我的函數(shù) (deleteItem) 時(shí),它只返回第一個(gè)數(shù)組元素的結(jié)果,而不是第二個(gè)。我真的很困惑,不明白這一點(diǎn)。誰能給我一個(gè)提示我做錯(cuò)了什么?先感謝您!let testArray = [[240,12, 10, 8,23],[240,12, 10, 8,24]];function deleteItem(array) {      if(array.length<=1){            return array;      }      else{            for(i=0; i<array.length-1;i++) {                  let changed = true;                  while(changed){                        if(array[i]%array[i+1]!=0) {                              array.splice(i+1,1);                              i=0;                              break;                        }                        else {changed=false};                  }            }      }      return array;}如果我只控制臺(tái)日志,它會(huì)按預(yù)期返回兩個(gè)元素:for(i=0;i<testArray.length;i++){      console.log(  testArray[i]);      //console.log(deleteItem(  testArray[i]));}returns:[240, 12, 10, 8, 23][240, 12, 10, 8, 24]如果我使用我的函數(shù),它只會(huì)調(diào)用第一個(gè)數(shù)組元素for(i=0;i<testArray.length;i++){      console.log(  testArray[i]);      console.log(deleteItem(  testArray[i]));}returns:[240, 12, 10, 8, 23][240, 12]I expect:[240, 12, 10, 8, 23][240, 12][240, 12, 10, 8, 24][240, 12]
查看完整描述

1 回答

?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

不要忘記用“l(fā)et”聲明你的for循環(huán)變量。一旦添加了let,它就可以正常工作。(在 deleteItem 函數(shù)中也是如此)


for(let i = 0; i < testArray.length; i++){

      console.log(testArray[i]);

      console.log(deleteItem(testArray[i]));

}

當(dāng)您循環(huán)遍歷您的 testArray 并輸出每個(gè)元素時(shí)沒有問題,但是在您的 deleteItem() 函數(shù)中,您有另一個(gè)帶有名為“i”的變量的 for 循環(huán),該變量未在本地聲明。


這意味著:您以全局 i = 0 開始 testArray 循環(huán)。然后調(diào)用 deleteItem 函數(shù),該函數(shù)也將相同的全局 i 用于其 for 循環(huán)。所以在 deleteItem 函數(shù)完成后,全局 i 設(shè)置為 4,原來的 for 循環(huán)條件不再成立。這就是為什么不為您的第二個(gè) testArray 元素調(diào)用 deleteItem 函數(shù)的原因。


查看完整回答
反對(duì) 回復(fù) 2022-10-08
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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