亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何在我的代碼中停止無限循環?

如何在我的代碼中停止無限循環?

瀟湘沐 2022-06-05 16:29:53
所以我是新手,我試圖在反應中創建一個滑動拼圖,到目前為止,我有一個數組,我試圖洗牌,循環在哪里,我使用 lodash 將數組分成四個。但是我需要停止在 newArr 上運行的循環,任何可以幫助我理解如何做到這一點的人?當我將頁面更新為 newArr 時,它會運行多次,并且當我使用 shuffle btn 對圖塊板進行洗牌時,我該如何編寫以便 getShuffledArr 在更新或洗牌時只運行一次?const sortedArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];const getShuffledArr = () => {  const newArr = sortedArray.slice();  for (let i = newArr.length - 1; i > 0; i--) {    const rand = Math.floor(Math.random() * (i + 1));    [newArr[i], newArr[rand]] = [newArr[rand], newArr[i]];    console.log("newArr", newArr);  }  let newPuzzle = newArr  return newPuzzle};const newPuzzle = getShuffledArr()// this gives four arrays of the shuffled oneconst newPuzzleArr = () => {  let puzzleArr = _.chunk(newPuzzle, 4)  console.log("getNewArray", puzzleArr);  return puzzleArr}newPuzzleArr()<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
查看完整描述

1 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

由于您已經在使用 lodash 那么您可以使用該_.shuffle(arr)方法。 https://lodash.com/docs/4.17.15#shuffle


查看完整回答
反對 回復 2022-06-05
  • 1 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號