Создание таблицы лидеров Dynamic c с точками - PullRequest
0 голосов
/ 21 марта 2020

Я новичок в программировании с JavaScript и вам нужна помощь, ребята. Что я пытаюсь сделать:

Создать таблицу лидеров в зависимости от очков пользователя.

Очки приобретаются в 3 различных дисциплинах. Пользователи могут ввести свою дисциплину и свой результат для каждой дисциплины. Затем пользователи получают очки в соответствии с их рейтингом против других пользователей в их дисциплине на основе предоставленного результата.

например: дисциплина 1, ранг 1 = 25 баллов, дисциплина 1, ранг 2 = 18 баллов, дисциплина 2, ранг 1 = 25пт и тд. Но я хочу создать таблицу лидеров, содержащую все очки, набранные во всех трех дисциплинах на пользователя. Таким образом, все очки, которые пользователь получил во всех дисциплинах, должны быть добавлены к итоговой таблице лидеров.

Пользователь1 Общие очки = Дисциплина1 Очки + Дисциплина 2 Очки + Дисциплина 3 Очки

Таблица лидеров:

Пользователь1 -> Большинство общих баллов

Пользователь2 -> 2-е место с наибольшим количеством общих баллов

Пользователь3 -> 3-е место с наибольшим количеством общих баллов

Мне не нужна помощь по созданию пользовательского интерфейса чтобы пользователи могли вводить свои данные, но о том, как сравнивать пользовательские результаты, добавьте очки пользователям, а затем объедините данные в одну таблицу лидеров.

Я бы попытался работать с таблицей по дисциплине, где все пользователи + их результаты собраны, и 2-я таблица, в которой я определяю, какой ранг и какое количество очков получает.

Любой совет о том, как go о О, высоко ценится. Заранее спасибо!

Редактировать:

Вот мой Код:

//define input tables

//define pointstable inputs
var points_rank1 = 25;
var points_rank2 = 20;
var points_rank3 = 15;
var points_rank4 = 10;

let pointstable = [points_rank1, points_rank2, points_rank3, points_rank4];

//define user inputs
var username1 = "user1";
var username2 = "user2";
var username3 = "user3";
var username4 = "user4";

var reps_user1 = 12;
var reps_user2 = 14;
var reps_user3 = 11;
var reps_user4 = 13;

var workoutid_user1 = 1;
var workoutid_user2 = 1;
var workoutid_user3 = 1;
var workoutid_user4 = 1;



//build array for workout 1
let workoutprofiles = [];

let workoutprofile1 = {};
workoutprofile1.id = 1;
workoutprofile1.name = username1;
workoutprofile1.reps = reps_user1;
workoutprofile1.workout = workoutid_user1;
workoutprofile1.points = 0;
workoutprofiles.push(workoutprofile1)

let workoutprofile2 = {};
workoutprofile1.id = 2;
workoutprofile2.name = username2;
workoutprofile2.reps = reps_user2;
workoutprofile2.workout = workoutid_user2;
workoutprofile2.points = 0;
workoutprofiles.push(workoutprofile2)

let workoutprofile3 = {};
workoutprofile1.id = 3;
workoutprofile3.name = username3;
workoutprofile3.reps = reps_user3;
workoutprofile3.workout = workoutid_user3;
workoutprofile3.points = 0;
workoutprofiles.push(workoutprofile3)

let workoutprofile4 = {};
workoutprofile1.id = 4;
workoutprofile4.name = username4;
workoutprofile4.reps = reps_user4;
workoutprofile4.workout = workoutid_user4;
workoutprofile4.points = 0;
workoutprofiles.push(workoutprofile4)

//sort workoutprofiles by reps
workoutprofiles.sort(function(a,b) {
    return b.reps-a.reps;
})

//fill profiles with points
workoutprofiles.forEach(function(entry){
    id = entry.id
    entry.points = pointstable[id];
})

Очки профиля тренировки остаются неопределенными, и я действительно не знаю, почему…

...