Aas*_*one 1 javascript arrays loops object reactjs
假设你有一个 Javascript 对象,它具有一些属性来随机显示一个带有背景、文本和标题的页面,你如何在其中循环以使其每次只显示对象上的一项?
const list = {
b1:{
author: 'Mozart',
title: 'lacrimosa',
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
imageURL: 'url(./assets/img/image.jpg)'
},
b2:{
author: 'Choppin',
title: 'Waltz in A minor',
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
imageURL: 'url(./assets/img/image.jpg)'
},
b3:{
author: 'Bach',
title: 'Ave Maria',
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
imageURL: 'url(./assets/img/image.jpg)'
},
}
return(
<div className="background" style={{background: 'url(./assets/img/image.jpg)'}}>
<div className="caption">
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p> artist - <cite>Song</cite></p>
</blockquote>
</div>
</div>
)
Run Code Online (Sandbox Code Playgroud)
我尝试了 Math.random() 方法,但它不起作用
小智 5
我最好建议(为了防止对象命名可能发生变化,而不是 b1、b2 等)使用 Object.keys() 方法:
var listKeys = Object.keys(list);
var randomIndex = Math.floor(Math.random() * listKeys.length);
var randomObject = list[listKeys[randomIndex]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4536 次 |
| 最近记录: |