JavaScript:是否可以将图像/信息附加到数组项
JavaScript: Is it possible to attach images/information to an array item?
例如,假设我想要一个随机的歌曲数组,输出一个歌曲标题。
var myArray = ['song1', 'song2', 'song3'];
var random = myArray[Math.floor(Math.random() * myArray.length)];
document.write(random);
但如果我也想要歌曲专辑封面加上艺术家的描述,那可能吗?我想如果我手动将每首歌单独添加到我的代码中,但如果我想要1000首歌呢?
避免document.write
。通过将每个歌曲对象放入你的数组中,你可以实现这一点:
var myArray = [{title:'Song 1 Title', artist:'Song 1 Artist'}, {title:'Song 2 Title', artist:'Song 2 Artist'}, {title:'Song 3 Title', artist:'Song 3 Artist'}];
function getRandomSong(ary){
return ary[Math.floor(Math.random()*ary.length)];
}
var randomSong = getRandomSong(myArray);
console.log(randomSong.title); console.log(randomSong.artist);
当然,如果你有数千首歌曲,你会想在数据库中执行类似的Sever Side。在PHP中,这可能看起来像:
<?php
class Song{
private $db; public $currentSelection;
public function __construct($databaseConnection){
$this->db = $databaseConnection;
$this->currentSelection = $this->getRandomSong();
}
public function getRandomSong(){
$db = $this->db;
if($sq = $db->query('SELECT COUNT(*) count FROM songTable')){
if($sq->num_rows > 0){
$c = $sq->fetch_object(); $rc = rand(1, $c->count);
if($rq = $db->query("SELECT * FROM songTable WHERE primaryKey=$rc"){
if($rq->num_rows > 0){
return json_encode($rq->fetch_assoc());
}
else{
// no rows
}
$rq->free();
}
else{
// connection failure
}
}
else{
// no rows
}
$sq->free();
}
else{
// connection failure
}
return false;
}
}
$songObj = new Song($databaseConnectionHere);
echo $songObj->currentSelection;
echo $songObj->getRandomSong();
$dataBaseConnectionHere->close();
?>
相关文章:
- JavaScript:是否可以将图像/信息附加到数组项
- 如何获取数组详细信息另一页
- 从数组中提取特定信息
- 如何从..中提取信息..我称之为数组
- 谷歌从数组中映射标记、折线和窗口信息
- Highcharts使用数组显示每个气泡点的附加信息
- 如何使用以下信息进行并行数组
- 角度-将数组中的信息从一个控制器传递到另一个控制器
- FB.getLoginStatus完成后,我想返回一个信息数组
- Javascript:返回与对象相关的信息的关联数组
- 将信息从暴雪API提取到谷歌脚本中的数组中
- 创建可重复的 HTML 表单并从 JS 数组加载信息
- 简单的javascript:数组和表单信息收集
- 简单的javascript:数组和表单信息收集#2
- JavaScript - 我想将两条信息分配给一个数组 - 我是否使用多维数组
- 将javascript数组发送到SQL,然后将信息返回给HTML
- 将 mySQL 数据库信息放入 JavaScript 数组中
- 如何在谷歌地图中使用地址数组显示信息窗口和折线
- 在哪里可以找到JavaScript中对象中数组行为的信息
- 是否有可能实现一种“;猜测;此日期格式基于数组中的信息