2017-04-26 15 views
-1

ソート関数があり、table要素内に6 thタグがあります。この関数を使用して、JSONファイルから正しい属性をソートする必要があります。私は以下のコードを試してみました、それはコンソールにエラーが表示されませんが、それはどのような方法でテーブルセルをソートしません。ソート関数が正しい属性を受け取りません

$('#myTable th').on('click', function() { 
 
    //figure out which panel to show 
 
    var attrToSort = $(this).attr('rel'); 
 
    const ordered = people.sort((a, b) => a.attrToSort > b.attrToSort ? 1 : -1); 
 
    console.table(ordered); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="myTable"> 
 
     <thead> 
 
      <tr> 
 
      <th rel="id">id</th> 
 
      <th rel="firstName">first name</th> 
 
      <th rel="lastName">last name</th> 
 
      <th rel="dateOfBirth">date of birth</th> 
 
      <th rel="function">function</th> 
 
      <th rel="experience">experience</th> 
 
      </tr> 
 
     </thead> 
 
     <tbody class="suggestions"> 
 
     </tbody> 
 
     </table>

答えて

1

attrToSortので、あなたがオブジェクトではなく、ドット表記法をアクセスする際にブラケット表記を使用する必要がある、プロパティの名前を含む文字列になります。試してみてください:

const ordered = people.sort((a, b) => a[attrToSort] > b[attrToSort] ? 1 : -1); 
+0

魅力的な作品です!ありがとうございました! –

+0

問題はありません –

関連する問題