javascript - 如何在 JSON 索引调用中使用变量中的随机数?
问题描述
我正在使用来自包含大约 100 个图像的 JSON 的图像 URL 创建幻灯片。每次页面加载时,我只想为幻灯片选择 5 个随机图像。html 在加载到主页上的 EJS 文件中的样式标记内设置样式。如何让 JSON 索引调用采用 1-100 范围内的随机数?
这是我的 app.js 文件,(我正在使用 express):
var express = require("express");
var app = express();
var request = require("request")
app.set("view engine", "ejs")
app.get("/results", function(req, res){
res.render("search")
});
app.get("/", function(req, res){
request('https://www.reddit.com/r/pics.api', function (error, response, body){
if(!error && response.statusCode == 200) {
var data = JSON.parse(body)
var num = Math.floor(Math.random() * 101)
res.render("fullscreen", {data: data, num: num});
console.log(data["data"]["children"][0]["data"]["url"])
}
});
});
app.listen(3000, function(){
console.log("Server has started!!!");
});
这是我的样式代码的相关片段:
.slideshow li:nth-child(1) {
background-image: url(<%=data["data"]["children"][num]["data"]["url"] %>);
}
当我用整数“num”运行我的代码时,它工作得很好,但是当我如上所示运行它时,我得到:“无法读取未定义的属性'数据'”。如何在 JSON 索引调用中使“num”成为随机数?
解决方案
并不总是有 100 个数据项。将此公式用于num
:
const num = Math.floor(Math.random() * data["data"]["children"].length);
检查这个
推荐阅读
- python - 在 Python 中使用导入文件中的变量
- cognos - COGNOS 11 - 查询计算的手动输入列
- flutter - 断言失败:第 50 行 pos 15:'image != null':在 Flutter 中不正确
- c# - 将 int 转换为 List
, ChartJS 核心 - php - Laravel 页面中的动态文本字段
- postgresql - 查询关联表PK上的多:多关系(即按关联表列过滤)
- c# - 使用 Newtonsoft 的 PopulateObject 函数时出现 JsonSerializationException
- python - ModuleNotFoundError:没有名为“code.victim”的模块;“代码”不是一个包
- javascript - 导出 PNG 画布所有 div 内容时出错
- java - 从 java admin sdk 连接到 Firestore 模拟器