mardi 16 novembre 2021

How to increment in forloop in random iterations?

I'm trying to add a random amount of "boulder" data into my "location" data. I want to use forloop to generate a random amount of boulders to put into each "location". I can't seem to get if I should use forEach or forLoop. In essence I want to know how to generate a forloop that increments in random iterations. (i.e. index=0, randomNum = 5 => nextIndex = 0+5, randomNum = 3, thirdIndex = 5+3 and so on)

here's my randomNum generator

const randomNum = (min, max) => {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min) + min)
}

and this is my boulder setting random forLoop (which doesnt work)

const allBoulders = async() => {await Boulder.find().exec()}

for (i=0, i < allBoulders.length; i+=upperCount;) {
    console.log(i)
    const area = location.area;
    const place = location.place;
    const latitude = location.latitude;
    const longitude = location.longitude;
    const boulderLocation = new Location({area: area, place: place, latitude: latitude, longitude: longitude});
    const upperCount = indexCount + randomNum(1, 5)
    const boulderSet = allBoulders.slice(indexCount, upperCount);
    boulderLocation.boulders.push(...boulderSet);
    // await boulderLocation.save()
    console.log(boulderLocation)
    indexCount = upperCount;
};

I'm getting the error:

for (i=0, i < allBoulders.length; i+=upperCount;) {
                                     ^

ReferenceError: upperCount is not defined

any help will be greatly appreciated!! thanks in advance!




Aucun commentaire:

Enregistrer un commentaire