В настоящее время я пишу бот-диск, который экономит c данные для своих пользователей. Ожидается, что приведенный ниже код будет l oop для каждого файла, сохраненного в папке (JSON с идентификатором пользователя в качестве имени), которая содержит массив идентификаторов «зданий», также называемых принадлежащими им элементами.
Вот уменьшенная JSON таблицы, которую я использую, где она найдет данные для зданий, которыми владеет пользователь (обратите внимание, что для каждой категории есть несколько категорий и «зданий»:
{
"small_buildings" : [
{
"description" : "basic description",
"name" : "basic item",
"income" : 500,
"startprice" : 30000,
"id" : 1
}
]
}
Приведенный ниже код циклически повторяется для каждого файла, затем циклически повторяется для каждой категории, кроме третьего l oop, который пытается l oop для каждого здания (как в строке "for (var e in econvar.category) {") отсчитывает от 0 до 15 и не находит совпадения с идентификатором.
"econvar" отмечает местоположение файла таблицы json.
files.forEach(function (file) {
let jsonArr = require("C:/discordbot/econdata/" + (file)) // get the initial file
jsonArr.forEach(function(i){ // for each number in the array of the economy data file
console.log("got to 2 " + i)
for(var category in econvar) { // checks for each category in the economy.json file for a match
console.log("got to 3 " + category)
for (var e in econvar.category){ // checks each building in the category for a match
console.log("got to 4 " + e)
if (e.id == i) {
console.log("got to 5 " + e.income)
total += e.income;
channel.send("totalcount: " + total)
}
}
}
})
});
Я пытался изменить переменная e, переменная econvar.category и различные методы l oop, но я либо получаю "получил 4 неопределенных", "получил 4 (затем 0-15 в каждой строке)", либо ошибка.
Спасибо. Надеюсь, это не слишком конкретно c, чтобы понять.