Estoy intentando ingresar a una base de datos de restaurantes e imprimir 15 restaurantes al azar en la consola. Aquí está el código que estoy usando:
function getRandomIntInclusive(min, max) { const newMin = Math.ceil(min); const newMax = Math.floor(max); return Math.floor(Math.random() * (newMax - newMin) + newMin); } function dataHandler(dataArray) { console.log("fired dataHandler"); console.table(dataArray); const range = [...Array(15).keys()]; const listItems = range.map((item, index) => { const restNum = getRandomIntInclusive(0, dataArray - 1); return dataArray[restNum]; }); console.log(listItems); //range.forEach((item) => { //console.log("range item", item); //return[dataArray] //}); } async function mainEvent() { console.log("script loaded"); const form = document.querySelector(".main_form"); const submit = document.querySelector(".submit_button"); const results = await fetch( "https://data.princegeorgescountymd.gov/resource/umjn-t2iz.json" ); const arrayFromJson = await results.json(); console.log(arrayFromJson); if (arrayFromJson > 0) { submit.style.display = "block"; form.addEventListener("submit", async (submitEvent) => { submitEvent.preventDefault(); console.log("form submission"); dataHandler(arrayFromJson); }); } }El problema radica en restNum y devuelve un error que dice:
Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'dataArray[restNum]')Me preguntaba si alguien puede ayudarme a depurar esto. ¡Gracias de antemano!