Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 15.11.2017, 14:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Romzes
там 10 часных правил для продолжения
каких если можно коротко?
Ответить с цитированием
  #22 (permalink)  
Старый 15.11.2017, 14:29
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

данный код уже универсален, там достаточно только указать исходные данные, он без case автоматический, осталось только остальные подсчеты сделать
Ответить с цитированием
  #23 (permalink)  
Старый 15.11.2017, 14:56
Интересующийся
Отправить личное сообщение для Romzes Посмотреть профиль Найти все сообщения от Romzes
 
Регистрация: 14.11.2017
Сообщений: 23

Сообщение от Lion777 Посмотреть сообщение
данный код уже универсален, там достаточно только указать исходные данные, он без case автоматический, осталось только остальные подсчеты сделать
к этому стремился
Ответить с цитированием
  #24 (permalink)  
Старый 15.11.2017, 14:58
Интересующийся
Отправить личное сообщение для Romzes Посмотреть профиль Найти все сообщения от Romzes
 
Регистрация: 14.11.2017
Сообщений: 23

Сообщение от рони Посмотреть сообщение
каких если можно коротко?
1 место - тот у кого больше 1х мест, если одинаково то ток у кого 1-2 мест больше и т.д.

2 место - ток у кого больше 1-2 мест, если одинаково то ток у кого больше 1х мест и по такому подобию


называется Скейтинг
Ответить с цитированием
  #25 (permalink)  
Старый 15.11.2017, 15:03
Интересующийся
Отправить личное сообщение для Romzes Посмотреть профиль Найти все сообщения от Romzes
 
Регистрация: 14.11.2017
Сообщений: 23

У меня опять стопор
var reffereeGet = document.getElementsByName('refferee');      var z=0;    	
metka1:
for (var j=0; j<sumparticipant; j++)
{
	refferee[j]=new Array();
		for (var i=0; i<sumrefferee; i++)
		{
		refferee[j][i]=reffereeGet[z].value; 
		z++;
					 
		   if (typeof refferee[j][i] == 'undefined' || refferee[j][i] == null || refferee[j][i] == 0) 
		   {
		     var arb=i+1;
		   alert ('Судья '+arb+' не определил место'); break metka1;
		   }
	 }
}

document.write('1 - '+ refferee[0][0] + '<br>2 - '+ refferee[0][1] + '<br>3 - '+ refferee[0][2] + '<br>4 - '+ refferee[0][3] + '<br>5 - '+ refferee[0][4]+
'<br><br>6 - '+ refferee[1][0] + '<br>7 - '+ refferee[1][1] + '<br>8 - '+ refferee[1][2] + '<br>9 - '+ refferee[1][3] + '<br>10 - '+ refferee[1][4]);




Почему в строке 8 я не могу использовать переменную z в выражении
"reffereeGet[z].value" ???

Если я ставлю i - то работает, если z - не работает. Хотя переменная z++ считается до 30 (согласно циклу) ,выводится значение


А нужно это чтоб разделить одномерный массив полученный путем опроса input (var reffereeGet = document.getElementsByName('refferee'); ) на двухмерный, то есть построчно

Последний раз редактировалось Romzes, 15.11.2017 в 15:05.
Ответить с цитированием
  #26 (permalink)  
Старый 15.11.2017, 15:18
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Сообщение от Romzes Посмотреть сообщение
к этому стремился
Я имел ввиду тот, что я писал и подправил другой участник ))
Ответить с цитированием
  #27 (permalink)  
Старый 15.11.2017, 15:23
Интересующийся
Отправить личное сообщение для Romzes Посмотреть профиль Найти все сообщения от Romzes
 
Регистрация: 14.11.2017
Сообщений: 23

Сообщение от Lion777 Посмотреть сообщение
Я имел ввиду тот, что я писал и подправил другой участник ))
я к сожалению сначала написал, а потом увидел Ваше предложение, и к сожалению я его до конца не понял, так как мало владею JS

Не понятно выражение var b = a.map(()=>[]);
Ответить с цитированием
  #28 (permalink)  
Старый 15.11.2017, 15:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Romzes,
без комментариев ... ввести места в инпуты(1...6), получить результат
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .total tr td:last-child {
    color: #FF0000;
    font-size: 28px
  }
  td {
    height: 22px; width: 80px; text-align: center;
    font-weight: bold;

  }

  </style>


</head>

<body>

<div class="refferee"></div>
<div class="total"></div>
<script>
function fn(f) {
    var c = f.map(function(a, g) {
        for (var d = [], b = 1, e = f.length; b <= e; b++) {
            var c = a.filter(function(a) {
                return a == b
            }).length;
            d.push(c)
        }
        return d
    });
    c.slice(0).sort(function(a, c) {
        for (var d, b = 0, e = a.length; b < e; b++)
            if (d = c[b] - a[b]) return d;
        return 0
    }).forEach(function(a, c) {
        a.push(++c)
    });
    return c
}

function createTable(row, col, parent, mas) {
    var table = document.createElement("table"),
        arr = [];
    var f = function(a, b, c) {
        return function() {
            arr[a][b] = +c.value || 0;
            var res = fn(arr);
            out(res)
        }
    };
    for (var i = 0; i < row; i++) {
        var tr = table.insertRow(i);
        arr[i] = [];
        for (var j = 0; j < col; j++) {
            var td = tr.insertCell(j);
            if (mas) td.textContent = mas[i][j];
            else {
                arr[i][j] = 0;
                var input = document.createElement("input");
                input.addEventListener("input", f(i, j, input));
                td.appendChild(input)
            }
        }
    }
    parent.appendChild(table);
    return arr
}

function out(arr) {
    total.innerHTML = "";
    createTable(arr.length, arr[0].length, total, arr)
}
var total = document.querySelector(".total");
var refferee = document.querySelector(".refferee");
var mas = createTable(6, 5, refferee);
var res = fn(mas);
out(res);
  </script>
</body>
</html>
Ответить с цитированием
  #29 (permalink)  
Старый 15.11.2017, 15:38
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Ну об этом стоит почитать, метод map объекта Array и стрелочные функции
Ответить с цитированием
  #30 (permalink)  
Старый 15.11.2017, 15:45
Интересующийся
Отправить личное сообщение для Romzes Посмотреть профиль Найти все сообщения от Romzes
 
Регистрация: 14.11.2017
Сообщений: 23

Сообщение от рони
Romzes,
без комментариев ...
Я понял.

за код спасибо. буду разбираться. Правда чуть не то 1 - столбец количество 1х мест, 2 столбец - количество ПЕРВЫХ И ВТОРЫХ мест и т.д.
Короче система неординарная и сложная. поскольку я новичок, сложно разобраться в Вашем коде, но я непременно постараюсь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения элемента display (Sandr) Общие вопросы Javascript 15 08.02.2017 10:28
Как создать новый массив из массива внутри объекта? Enkille Общие вопросы Javascript 14 14.07.2016 18:26
Удаление элемента массива введенного с клавиатуры. Alex961 Общие вопросы Javascript 1 01.12.2015 22:39
Проверка массива на наличие элемента Скриптор Общие вопросы Javascript 16 10.09.2012 18:00
как найти и удалить массив из массива? FRIE Общие вопросы Javascript 8 14.03.2011 15:48