从 json 个对象 javascript (p5.js) 中随机获取 key/value 对

get random key/value pairs from json objects javascript (p5.js)

如何获取随机对象并从包含多个对象的数组 .json 文件中获取随机 key/value 对?

我有一个 p5.js 脚本,它加载一个 json 文件,该文件包含多个对象的数组,每个对象有 11 个 key/value 对。我可以获得随机对象,但我还需要随机 key/valeu 对用作字符串。

我没有足够的代码技能来找出在随机对象和随机 key/valeu 对之间随机排序的方法。对此有什么想法吗?

提前致谢。

样本json:

{
  "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"
    }
]
}

p5.js代码:

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() 函数将 return 一个键数组,您可以像任何其他数组一样引用它。然后,您可以使用随机生成的密钥来获取所需的值。如果你想得到一个随机值,使用Object.values().

希望这就是您要找的,因为措辞原因我不是很确定。