Мне нужен код JavaScript, чтобы посчитать, сколько раз первая буква из нескольких тегов < td > появляется

XSD 1.1

Вот как использовать xs:assert, чтобы сделать IBAN обязательным, когда TYPE = 'INTERNATIONAL':

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
           vc:minVersion="1.1">

  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="TYPE" type="TestEnum" />
        <!-- // This Element should only required when TYPE = INTERNATIONAL -->
        <xs:element name="IBAN" minOccurs="0"/>        
      </xs:sequence>
      <xs:assert test="not(TYPE = 'INTERNATIONAL') or IBAN"/>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="TestEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration  value="NATIONAL"/>
      <xs:enumeration value="INTERNATIONAL"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>
0
задан user615274 18 January 2019 в 16:28
поделиться

2 ответа

Как то так?

var res = {
  "JUCS": {
    "V": 0,
    "D": 0
  },

  "LSB": {
    "V": 0,
    "D": 0
  },
  "TUC": {
    "V": 0,
    "D": 0
  },
}
document.querySelectorAll("table td:nth-of-type(5)").forEach(function(cell) {
  var text = cell.textContent;
  var vd = text.split(",")[0];
  var team = cell.nextElementSibling.textContent;
  if ("VD".indexOf(vd) > -1) res[team][vd]++
});
var v=0, d=0;
for (team in res) {
  var V = res[team]["V"], D = res[team]["D"];
  v += V
  d += D
  document.getElementById(team+"_V").textContent = V;
  document.getElementById(team+"_D").textContent = D;
}
document.getElementById("total_V").textContent = v;
document.getElementById("total_D").textContent = d;
<div id="div_resultados_gerais">
  <table id="table_resultados_gerais">
    <thead>
      <th colspan="3">Total</th>
      <th colspan="3">JUCS</th>
      <th colspan="3">LSB</th>
      <th colspan="3">TUC</th>
    </thead>
    <tbody id="tb">
      <tr>
        <!-- TOTAL -->
        <td id="total_V" class="d">10</td>
        <td class="separador">-</td>
        <td id="total_D" class="e">7</td>

        <!-- JUCS -->
        <td id="JUCS_V" class="d">v</td>
        <td class="separador">-</td>
        <td id="JUCS_D" class="e">d</td>

        <!-- LSB -->
        <td id="LSB_V" class="d">5</td>
        <td class="separador">-</td>
        <td id="LSB_D" class="e">6</td>

        <!-- TUC -->
        <td id="TUC_V" class="d">5</td>
        <td class="separador">-</td>
        <td id="TUC_D" class="e">1</td>
      </tr>

    </tbody>
  </table>
</div>


<div id="div_calendario_jogos">
  <table id="table_calendario_jogos">
    <tbody>
      <tr id="table_header">
        <th>Date</th>
        <th>Time</th>
        <th>Season</th>
        <th colspan="2">Oponente</th>
        <th>Placar</th>
        <th>Competition</th>
      </tr>
    </tbody>

    <tbody class="tbody_calendario_jogos">
      <tr>
        <td>11/03/2018</td>
        <td>15:00h</td>
        <td>Regular</td>
        <td>BMC</td>
        <td>V, 52-42</td>
        <td>LSB</td>
      </tr>

      <tr>
        <td>08/04/2018</td>
        <td>12:30h</td>
        <td>Regular</td>
        <td>Drink Team</td>
        <td>D, 59-61</td>
        <td>LSB</td>
      </tr>

      <tr>
        <td>22/04/2018</td>
        <td>10:30h</td>
        <td>Regular</td>
        <td>Nitcheroy Ballers</td>
        <td>V, 53-40</td>
        <td>TUC</td>
      </tr>

      <tr>
        <td>28/04/2018</td>
        <td>12:00h</td>
        <td>Regular</td>
        <td>Nacional</td>
        <td>V, 50-34</td>
        <td>LSB</td>
      </tr>

      <tr>
        <td>06/05/2018</td>
        <td>14:00h</td>
        <td>Regular</td>
        <td>VR Ballers</td>
        <td>D, 45-74</td>
        <td>LSB</td>
      </tr>


      <tr>
        <td>11/03/2018</td>
        <td>15:00h</td>
        <td>Regular</td>
        <td>BMC</td>
        <td>V, 52-42</td>
        <td>TUC</td>
      </tr>

      <tr>
        <td>08/04/2018</td>
        <td>12:30h</td>
        <td>Regular</td>
        <td>Drink Team</td>
        <td>D, 59-61</td>
        <td>LSB</td>
      </tr>

      <tr>
        <td>22/04/2018</td>
        <td>10:30h</td>
        <td>Regular</td>
        <td>Nitcheroy Ballers</td>
        <td>V, 53-40</td>
        <td>TUC</td>
      </tr>

      <tr>
        <td>28/04/2018</td>
        <td>12:00h</td>
        <td>Regular</td>
        <td>Nacional</td>
        <td>V, 50-34</td>
        <td>JUCS</td>
      </tr>

      <tr>
        <td>06/05/2018</td>
        <td>14:00h</td>
        <td>Regular</td>
        <td>VR Ballers</td>
        <td>D, 45-74</td>
        <td>JUCS</td>
      </tr>
    </tbody>
  </table>
</div>

0
ответ дан mplungjan 18 January 2019 в 16:28
поделиться

Предполагая, что вы ожидаете такой результат

{
    "LSB": {
        "V": 2,
        "D": 3
    },
    "TUC": {
        "V": 3
    },
    "JUCS": {
        "V": 1,
        "D": 1
    }
}

, который позже вы превратите в таблицу

Вы можете попробовать следующее

const table = document.querySelector('#table_calendario_jogos');
    const rows = [...table.tBodies[0].rows];
    const dataset = rows.map(row => {
        const cells = [...row.cells];
        const object = {};

        object.placar = cells[4].textContent[0];
        object.competition = cells[5].textContent;

        return object
    });

    const result = dataset.reduce((accumulator, currentValue, index, array) => {
        if (!accumulator[currentValue.competition]) {
            accumulator[currentValue.competition] = array
                .filter(item => item.competition === currentValue.competition)
                .map(item => item.placar)
                .reduce((acc, val) => {
                    if (!acc[val]) {
                        acc[val] = 1;
                    } else {
                        acc[val] = acc[val] + 1;
                    }

                    return acc;
                }, {});
        }

        return accumulator;
    }, {});

    console.log(result);

    // Render result table
    const t = document.createElement('table');
    const thead = document.createElement('thead');
    const tbody = document.createElement('tbody');
    const th1 = document.createElement('th');
    const th2 = document.createElement('th');
    const th3 = document.createElement('th');

    th1.textContent = 'Placar';
    th2.textContent = 'V';
    th3.textContent = 'D';

    thead.appendChild(th1);
    thead.appendChild(th2);
    thead.appendChild(th3);

    t.appendChild(thead);

    for (const key in result) {
        const tr = document.createElement('tr');
        const td1 = document.createElement('td');
        const td2 = document.createElement('td');
        const td3 = document.createElement('td');

        td1.textContent = key;
        td2.textContent = result[key].V;
        td3.textContent = result[key].D;

        tr.appendChild(td1);
        tr.appendChild(td2);
        tr.appendChild(td3);

        tbody.appendChild(tr)

        t.appendChild(tbody);
    }

document.querySelector('#result').appendChild(t);
<div id="div_resultados_gerais">
    <table id="table_resultados_gerais">
        <tbody>
            <thead>
                <th colspan="3">Total</th>
                <th colspan="3">JUCS</th>
                <th colspan="3">LSB</th>
                <th colspan="3">TUC</th>
            </thead>

            <tr>
                <!-- TOTAL -->
                <td class="d">10</td>
                <td class="separador">-</td>
                <td class="e">7</td>

                <!-- JUCS -->
                <td class="d">v</td>
                <td class="separador">-</td>
                <td class="e">d</td>

                <!-- LSB -->
                <td class="d">5</td>
                <td class="separador">-</td>
                <td class="e">6</td>

                <!-- TUC -->
                <td class="d">5</td>
                <td class="separador">-</td>
                <td class="e">1</td>
            </tr>

        </tbody>
    </table>
</div>

<div id="result"></div>

<div id="div_calendario_jogos">
    <table id="table_calendario_jogos">
        <thead>
            <tr id="table_header">
                <th>Date</th>
                <th>Time</th>
                <th>Season</th>
                <th colspan="2">Oponente</th>
                <th>Placar</th>
                <th>Competition</th>
            </tr>
        </thead>

        <tbody class="tbody_calendario_jogos">
            <tr>
                <td>11/03/2018</td>
                <td>15:00h</td>
                <td>Regular</td>
                <td>BMC</td>
                <td>V, 52-42</td>
                <td>LSB</td>
            </tr>

            <tr>
                <td>08/04/2018</td>
                <td>12:30h</td>
                <td>Regular</td>
                <td>Drink Team</td>
                <td>D, 59-61</td>
                <td>LSB</td>
            </tr>

            <tr>
                <td>22/04/2018</td>
                <td>10:30h</td>
                <td>Regular</td>
                <td>Nitcheroy Ballers</td>
                <td>V, 53-40</td>
                <td>TUC</td>
            </tr>

            <tr>
                <td>28/04/2018</td>
                <td>12:00h</td>
                <td>Regular</td>
                <td>Nacional</td>
                <td>V, 50-34</td>
                <td>LSB</td>
            </tr>

            <tr>
                <td>06/05/2018</td>
                <td>14:00h</td>
                <td>Regular</td>
                <td>VR Ballers</td>
                <td>D, 45-74</td>
                <td>LSB</td>
            </tr>


            <tr>
                <td>11/03/2018</td>
                <td>15:00h</td>
                <td>Regular</td>
                <td>BMC</td>
                <td>V, 52-42</td>
                <td>TUC</td>
            </tr>

            <tr>
                <td>08/04/2018</td>
                <td>12:30h</td>
                <td>Regular</td>
                <td>Drink Team</td>
                <td>D, 59-61</td>
                <td>LSB</td>
            </tr>

            <tr>
                <td>22/04/2018</td>
                <td>10:30h</td>
                <td>Regular</td>
                <td>Nitcheroy Ballers</td>
                <td>V, 53-40</td>
                <td>TUC</td>
            </tr>

            <tr>
                <td>28/04/2018</td>
                <td>12:00h</td>
                <td>Regular</td>
                <td>Nacional</td>
                <td>V, 50-34</td>
                <td>JUCS</td>
            </tr>

            <tr>
                <td>06/05/2018</td>
                <td>14:00h</td>
                <td>Regular</td>
                <td>VR Ballers</td>
                <td>D, 45-74</td>
                <td>JUCS</td>
            </tr>
        </tbody>
    </table>
</div>

0
ответ дан user615274 18 January 2019 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: