Open In App

p5.Table matchRows() Method

Improve
Improve
Like Article
Like
Save
Share
Report

The matchRows() method of p5.Table in p5.js is used to find all the rows that match the given regular expression. It returns a reference to the matched rows in the form of an array. The column that the method uses to search the row can be specified as a parameter.

Syntax:

matchRows( regexp, [column] )

Parameters: This method accepts two parameters as mentioned above and described below:

  • regexp: It is a String or RegExp object that specifies the regular expression to match.
  • column: It is a String or number that denotes the column name or ID of the column. It is an optional parameter.

Return Value: This method returns an array of p5.TableRow objects which match the given regular expression.

The example below illustrates the match Rows() method in p5.js:

Example:




function setup() {
  createCanvas(500, 300);
  textSize(16);
  
  matchQueryInput =
    createInput();
  matchQueryInput.position(30, 40);
  
  getColBtn =
    createButton("Get the matching row");
  getColBtn.position(30, 70);
  getColBtn.mouseClicked(getMatchedResults);
  
  // Create the table
  table = new p5.Table();
  
  // Add two columns
  table.addColumn("name");
  table.addColumn("id");
  
  // Add some rows to the table
  let newRow = table.addRow();
  newRow.setString("name", "mary");
  newRow.setString("id", 21);
   
  newRow = table.addRow();
  newRow.setString("name", "marco6");
  newRow.setString("id", 27);
   
  newRow = table.addRow();
  newRow.setString("name", "tunisia 4");
  newRow.setString("id", 32);
  
  newRow = table.addRow();
  newRow.setString("name", "user 23");
  newRow.setString("id", 32);
   
  newRow = table.addRow();
  newRow.setString("name", "admin");
  newRow.setString("id", 45);
  
  newRow = table.addRow();
  newRow.setString("name", "mikasa");
  newRow.setString("id", 23);
  
  showTable();
}
  
function getMatchedResults() {
  clear();
  
  let matchQuery =
      matchQueryInput.value();
  
  if (matchQuery != "") {
  
    // Match the query in the column of 'name' 
    matchResults =
      table.matchRows(new RegExp(matchQuery),
                      'name');
    
    if (matchResults.length > 0) {
      text("The rows that matches the " +
           "query is", 20, 120);
  
      for (let i = 0; i < matchResults.length; i++) {
        // Display the matched value
        text(matchResults[i].arr[0], 20, 140 + i * 20);
        text(matchResults[i].arr[1], 120, 140 + i * 20);
      }
  
  
    }
    else text("No Results Found", 20, 120);
      
  } else {
    text("The query string is empty", 20, 120);
  }
  text("Enter a string to match it in "
       "the 'name' column table", 20, 20);
}
  
function showTable() {
  clear();
  
  // Display the total rows present in the table
  text("There are " + table.getRowCount() +
       " rows in the table", 20, 120);
  
  for (let r = 0; r < table.getRowCount(); r++)
    for (let c = 0; c < table.getColumnCount(); c++)
      text(table.getString(r, c),
           20 + c * 100, 140 + r * 20);
  
  text("Enter a string to match it in "
       "the 'name' column table", 20, 20);
}


Output:

Environment Setup: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/

Reference: https://p5js.org/reference/#/p5.Table/matchRows



Last Updated : 19 Jul, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads