В моей игре JavaScript я сохраняю результаты в многомерном массиве (в локальном хранилище).
Я сохраняю themeID
, идентификатор темы, в которую играли. Кроме того, я сохраняю настройки игры (pieces
и shapesSquare
) и duration
игры.
Теперь мне нужно сравнить результаты, чтобы найти лучший результат для каждого параметра. (= рекорд). Лучший результат в этом случае означает наименьшее значение длительности (не стесняйтесь игнорировать формат продолжительности, потому что я знаю, как сравнивать временные метки, просто рассматривайте его как обычные числа).
Критическим моментом для меня является сравнение только различные настройки, а затем найдите самое низкое значение продолжительности. Мне не нужна только самая низкая длительность всего массива, но мне нужно найти ее для каждой настройки. Это значит, что мне нужно выяснить, где themeID
, pieces
и shapesSquare
идентичны, чтобы сравнить результаты. Если pieces
или shapesSquare
различны, то для этого themeID
.
это должен быть другой рекорд. Идеальным результатом для меня будет массив, в котором у меня есть для каждой темы и установка «лучший» "Score.
Массив выглядит так:
let scores = [
{
"themeID": 1,
"pieces": 10,
"shapesSquare": true,
"duration": "00:01:00"
},
{
"themeID": 1,
"pieces": 10,
"shapesSquare": true,
"duration": "00:01:30"
},
{
"themeID": 4,
"pieces": 20,
"shapesSquare": false,
"duration": "00:04:00"
},
{
"themeID": 4,
"pieces": 30,
"shapesSquare": true,
"duration": "00:03:20"
}
]
Кстати, я довольно гибок с массивом scores
, потому что я создаю его сам, так что если у вас есть какие-либо предложения При изменении структуры (чтобы упростить повторение), не стесняйтесь сказать мне.
Заранее благодарю за любую помощь!