簡體   English   中英

數組中只添加了一個元素

[英]Only one element is added to the array

該代碼應該將 6 個隨機元素從另一個數組添加到一個數組,但由於某種原因它只添加一次`

  let [cubs, setcubs] = useState([
    {id:1,title:1, img:"https://www.zonkpro.ru/zonk/assets/dice/mini/1.png"},
    {id:2,title:2, img:"https://www.zonkpro.ru/zonk/assets/dice/mini/2.png"},
    {id:3,title:3, img:"https://www.zonkpro.ru/zonk/assets/dice/mini/3.png"},
    {id:4,title:4, img:"https://www.zonkpro.ru/zonk/assets/dice/mini/4.png"},
    {id:5,title:5, img:"https://www.zonkpro.ru/zonk/assets/dice/mini/5.png"},
    {id:6,title:6, img:"https://www.zonkpro.ru/zonk/assets/dice/mini/6.png"},
  ])
  
  let [cubikinapole, setcubikinapole] = useState([

  ])
  
  function sheker(){
    for(let i=0;i<6;i++){
      let randomcub = Math.floor(Math.random() * (6 - 0) + 0)
      let obj = {
        id: new Date().valueOf(),
        title: cubs[randomcub].title,
        img: cubs[randomcub].img
      }
      setcubikinapole([...cubikinapole, obj])
    }
    }

`

嘗試了 push 方法,但它拋出錯誤

將值存儲在臨時數組中,直到循環完成,然后更新存儲

function sheker(){
    const list = []
    for(let i=0;i<6;i++){
      let randomcub = Math.floor(Math.random() * (6 - 0) + 0)
      let obj = {
        id: new Date().valueOf(),
        title: cubs[randomcub].title,
        img: cubs[randomcub].img
      }
      list.push(obj)
    }
    
    setcubikinapole(list)

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM