Wednesday, July 3, 2024
HomeLanguagesJavascriptp5.Table matchRows() Method

p5.Table matchRows() Method

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.neveropen.co.za/p5-js-soundfile-object-installation-and-methods/

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

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

Dominic Rubhabha Wardslaus
Dominic Rubhabha Wardslaushttps://neveropen.dev
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments