Find vs. Filter (v7)

Revision 7 of this benchmark created on


Preparation HTML

<table id="myTable">
  <thead>
    <tr>
      <th>
        Whatever
      </th>
      <th>
        Whatever
      </th>
      <th>
        Whatever
      </th>
      <th>
        Whatever
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
    <tr>
      <td>
        Whatever
      </td>
      <td>
        Whatever
      </td>
      <td class="selected">
        Whatever
      </td>
      <td>
        Whatever
      </td>
    </tr>
  </tbody>
</table>
<style>.selected { background: #eee; }</style>
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>

Setup

var rows = $('#myTable > tbody > tr');

Test runner

Ready to run.

Testing in
TestOps/sec
Find
var selectedCells = rows.find('td.selected').end().find('td:not(.selected)');
ready
Filter
var selectedCells = rows.filter('td.selected').end().filter('td:not(.selected)');
ready
Find then Filter
var selectedCells = rows.find('td').filter('.selected').end().filter(':not(.selected)');
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.