簡體   English   中英

從json對象javascript(p5.js)獲取隨機鍵/值對

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

如何從多個對象.json文件的數組中獲取隨機對象並獲取隨機鍵/值對?

我有一個p5.js腳本,可加載一個json文件,該文件包含多個對象的數組,每個對象具有11個鍵/值對。 我可以獲取隨機對象,但還需要獲取隨機鍵/值對以用作字符串。

我沒有足夠的代碼技能,無法找到一種在隨機對象和隨機鍵/值對之間進行隨機排序的方法。 有什么想法嗎?

提前致謝。

樣本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.j​​s代碼:

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()

希望那是您要尋找的東西,因為措辭我不太確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM