html 如何从对象数组中随机显示一个1图像

rjee0c15  于 2024-01-04  发布在  其他
关注(0)|答案(4)|浏览(294)

如何显示单个图像随机?我已经创建了一个对象的图像被添加的数组,现在我需要显示这些图像随机,但一次一个,它将在下次重新加载改变.

  1. const index= () => {
  2. let gifGallery=[
  3. {
  4. src:'./Images/1.gif',
  5. value:1
  6. },
  7. {
  8. src:'./Images/2.gif',
  9. value:2
  10. },
  11. {
  12. src:'./Images/3.gif',
  13. value:3
  14. },
  15. {
  16. src:'./Images/4.gif',
  17. value:4
  18. },
  19. ]
  20. return (
  21. <>
  22. <h1>Gif Gallery</h1>
  23. <div>
  24. {
  25. what should be the logic here?????
  26. }
  27. </div>
  28. </>
  29. )
  30. }

字符串

doinxwow

doinxwow1#

使用此代码

  1. function getRandomImage(arr) {
  2. const length = arr.length;
  3. const randomIndex = Math.floor(length * Math.random())
  4. return arr[randomIndex]
  5. }

字符串

lokaqttq

lokaqttq2#

  1. You can get a random value from an array of objects and use it in your return method.
  2. let gifGallery=[
  3. {
  4. src:'./Images/1.gif',
  5. value:1
  6. },
  7. {
  8. src:'./Images/2.gif',
  9. value:2
  10. },
  11. {
  12. src:'./Images/3.gif',
  13. value:3
  14. },
  15. {
  16. src:'./Images/4.gif',
  17. value:4
  18. },
  19. ]
  20. var randomObject = gifGallery[Math.floor(Math.random() * gifGallery.length)];
  21. return (
  22. <>
  23. <h1>Gif Gallery</h1>
  24. <div>
  25. <image src={randomObject.src} alt={randomObject.value} />
  26. </div>
  27. </>
  28. )

字符串

展开查看全部
rur96b6h

rur96b6h3#

使用Math.floor(),你可以看到this link的文档,我希望这将是有帮助的。谢谢

  1. let gifGallery=[
  2. {
  3. src:'./Images/1.gif',
  4. value:1
  5. },
  6. {
  7. src:'./Images/2.gif',
  8. value:2
  9. },
  10. {
  11. src:'./Images/3.gif',
  12. value:3
  13. },
  14. {
  15. src:'./Images/4.gif',
  16. value:4
  17. },
  18. ]
  19. const randomImage = Math.floor(Math.random() * gifGallery.length)
  20. console.log(randomImage)

字符串

  1. const index= () => {
  2. let gifGallery=[
  3. {
  4. src:'./Images/1.gif',
  5. value:1
  6. },
  7. {
  8. src:'./Images/2.gif',
  9. value:2
  10. },
  11. {
  12. src:'./Images/3.gif',
  13. value:3
  14. },
  15. {
  16. src:'./Images/4.gif',
  17. value:4
  18. },
  19. ]
  20. const randomImage = Math.floor(Math.random() * gifGallery.length)
  21. return (
  22. <>
  23. <h1>Gif Gallery</h1>
  24. <div>
  25. <img src={gifGallery[randomImage].src} />
  26. </div>
  27. </>
  28. )
  29. }

展开查看全部
r1wp621o

r1wp621o4#

一种方法是在0和图像数组的最后一个索引之间生成一个随机数。理想情况下,您将其存储在useState中,以便您可以在需要时更改它(例如,您有一个按钮,上面写着“获取随机GIF”)。
你需要一个像这样的函数来生成randomIdx

  1. const getRandomIdx = () => Math.floor(Math.random() * gifGallery.length)

字符串
创建这些函数的方法在here中有很好的解释。
然后在JSX中放入一个<img />标记,其src属性存储在gifGallery[randomIdx]处对象的src属性中。

  1. const gifGallery=[
  2. {
  3. src:'./Images/1.gif',
  4. value:1
  5. },
  6. {
  7. src:'./Images/2.gif',
  8. value:2
  9. },
  10. {
  11. src:'./Images/3.gif',
  12. value:3
  13. },
  14. {
  15. src:'./Images/4.gif',
  16. value:4
  17. },
  18. ]
  19. const getRandomIdx = () => Math.floor(Math.random() * gifGallery.length)
  20. const App = () => {
  21. const [randomIdx, setRandomIdx] = useState(getRandomIdx())
  22. return (
  23. <>
  24. <h1>Gif Gallery</h1>
  25. <div>
  26. <img src={gifGallery[randomIdx].src} />
  27. </div>
  28. <p>Idx : {randomIdx}</p>
  29. <button onClick={() => setRandomIdx(getRandomIdx())}>
  30. get another random one
  31. </button>
  32. </>
  33. )
  34. }


你在这个React Playground里有一个工作的伙伴,

展开查看全部

相关问题