JSFiddle - React, Tailwind, and code Playground

HTML

<p>列でなく行でソートしたいです。<br>
(鈴木の行をクリックすると、数学の列が左に、国語の列は右になってほしい。)</p>

<table>
     <thead>
          <tr>
               <th data-type="string">名前<span></span></th>
               <th data-type="integer">国語<span></span></th>
               <th data-type="integer">数学<span></span></th>               
          </tr>
     </thead>
     <tbody>
          <tr class="dothesort">
               <td>鈴木</td><td>12</td><td>9</td>
          </tr>
          <tr class="dothesort">
               <td>佐藤</td><td>25</td><td>89</td>
          </tr>
          <tr class="dothesort">
               <td>高橋</td><td>1</td><td>987</td>
          </tr>
          <tr class="dothesort">
               <td>山田</td><td>604</td><td>78</td>
          </tr>
     </tbody>
</table>

CSS

p {
  color: red;  
}
th {
  background: #ccc;
}
td {
  background: pink;
}
td:first-child {
  background: #ccc;
}

JavaScript

$(function(){

//並び替え順を設定
var sortOrder = 1; //1:昇順, -1:降順
//行をクリックしたら
     $('.dothesort').click(function(){

          var type = $(this).data('type');
          var col = $(this).index(); //0, 1 ...

          //行全体を取得
          var $rows = $('tbody > tr');

          //行を並び替え(点数で)
          $rows.sort(function(a,b){
               return compare(a, b, type)*sortOrder;

          var arrow.empty.append($rows);

          var arrow = sortOrder === 1 ? “→":"←";
          $(‘.dothesort > span').text('');
          $(this).find('span').text(arrow)
          //並び替え順を反転
          sortOrder *= -1;
     });

     function  compare(a, b, type, col){
               var  _a = $(a).find('td').eq(col).text() *1;
               var  _b = $(b).find('td')eq(col).text() *1;

               if(type == “string"){
                    if(_a < _b)
                         return -1;
                    } 
                    if(_a > _b){
                         return 1;
                    }
                    return 0;
          } else {
               _a *= 1;
               _b *= 1;
               return _a - _b
              }


     }

});