从json对象javascript(p5.js)获取随机键/值对
如何从多个objects.json文件数组中获取随机对象和随机键/值对 我有一个p5.js脚本,它加载一个json文件,该文件包含一个多对象数组,每个对象有11个键/值对。我可以获得随机对象,但我还需要获得随机键/valeu对以用作字符串 我没有足够的代码技能来找出一种在随机对象和随机键/valeu对之间进行随机排序的方法。有什么想法吗 提前谢谢 示例json:从json对象javascript(p5.js)获取随机键/值对,javascript,arrays,p5.js,Javascript,Arrays,P5.js,如何从多个objects.json文件数组中获取随机对象和随机键/值对 我有一个p5.js脚本,它加载一个json文件,该文件包含一个多对象数组,每个对象有11个键/值对。我可以获得随机对象,但我还需要获得随机键/valeu对以用作字符串 我没有足够的代码技能来找出一种在随机对象和随机键/valeu对之间进行随机排序的方法。有什么想法吗 提前谢谢 示例json: { "entries": [ { "area": "0", "qtd": "3", "
{
"entries": [
{
"area": "0",
"qtd": "3",
"author": "FERNANDES, C. E. de M.",
"title": "Fundamentos de física para geociências.",
"subTitle": "xxxxx",
"qtdPag": "v.",
"edition": "xxxxx",
"isbn": "ISBN 9788571931596.",
"edPlace": "Rio de Janeiro: Interciência, 2007.",
"cdu": "53 F363f Ac.1028543",
"areaKnow": "Pre-catalogação"
}
]
}
var data;
var fontRegular;
function preload() {
fontRegular = loadFont("assets/RobotoMono-Medium.ttf");
data = loadJSON("assets/data-bce-final.json");
}
function setup() {
createCanvas(windowWidth, windowHeight);
setText();
setInterval(setText, 5000);
}
function setText() {
var entries = data.entries;
var randomEntries = entries[Math.floor(Math.random() * entries.length)]; // get random item
background(255);
noStroke();
fill(80, 227, 194);
fill(100);
textSize(30);
textFont(fontRegular);
text(
// random version
randomEntries.author + "\n" +
randomEntries.title + "\n" +
randomEntries.subTitle + "\n" + "\n" +
randomEntries.edPlace + "\n" +
randomEntries.areaKnow + "\n" + "\n" +
randomEntries.cdu, 50, 60, windowWidth - 150);
}
function draw() {
}
p5.js代码:
{
"entries": [
{
"area": "0",
"qtd": "3",
"author": "FERNANDES, C. E. de M.",
"title": "Fundamentos de física para geociências.",
"subTitle": "xxxxx",
"qtdPag": "v.",
"edition": "xxxxx",
"isbn": "ISBN 9788571931596.",
"edPlace": "Rio de Janeiro: Interciência, 2007.",
"cdu": "53 F363f Ac.1028543",
"areaKnow": "Pre-catalogação"
}
]
}
var data;
var fontRegular;
function preload() {
fontRegular = loadFont("assets/RobotoMono-Medium.ttf");
data = loadJSON("assets/data-bce-final.json");
}
function setup() {
createCanvas(windowWidth, windowHeight);
setText();
setInterval(setText, 5000);
}
function setText() {
var entries = data.entries;
var randomEntries = entries[Math.floor(Math.random() * entries.length)]; // get random item
background(255);
noStroke();
fill(80, 227, 194);
fill(100);
textSize(30);
textFont(fontRegular);
text(
// random version
randomEntries.author + "\n" +
randomEntries.title + "\n" +
randomEntries.subTitle + "\n" + "\n" +
randomEntries.edPlace + "\n" +
randomEntries.areaKnow + "\n" + "\n" +
randomEntries.cdu, 50, 60, windowWidth - 150);
}
function draw() {
}
我相信您是说希望从
entries
变量中获得一个随机条目。如果是这种情况,您只需执行以下操作:
var randomEntries = Object.keys(entries)[Math.floor(Math.random() * entries.length)];
Object.keys()
函数将返回一个键数组,您可以像其他数组一样引用该数组。然后可以使用随机生成的键来获取所需的值。如果要获取随机值,请使用Object.values()
希望这就是您所寻找的,因为措辞的原因,我不太确定。我相信您是说希望从
条目
变量中获得一个随机条目。如果是这种情况,您只需执行以下操作:
var randomEntries = Object.keys(entries)[Math.floor(Math.random() * entries.length)];
Object.keys()
函数将返回一个键数组,您可以像其他数组一样引用该数组。然后可以使用随机生成的键来获取所需的值。如果要获取随机值,请使用Object.values()
希望这就是您想要的,因为措辞的原因,我不是很确定。谢谢您的快速回复!我想这解决了我的问题。很高兴它有帮助!谢谢你的快速回复!我想这解决了我的问题。很高兴它有帮助!