Monday, November 18, 2024
Google search engine
HomeLanguagesJavascriptp5.Table getNum() Method

p5.Table getNum() Method

The getNum() method of p5.Table in p5.js is used to retrieve a Float value from the given row and column of the table. The row can be specified by the row ID and the column can be specified by its column ID or column name.

Syntax:

getNum( row, column )

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

  • row: It is a number that denotes the row ID of the row.
  • column: It is a String or Number that denotes the column name or ID of the column.

Return Value: This method returns a Number which is the value retrieved from the given row and column of the table.

The examples below illustrate the getNum() method in p5.js:

Example 1:

Javascript




function setup() {
  createCanvas(600, 300);
  textSize(18);
  
  text("Click on the button to get " +
       "all the values in the table",
       20, 20);
  
  setBtn =
    createButton("Get all table values");
  setBtn.position(30, 40);
  setBtn.mouseClicked(showTable);
  
  // Create the table
  table = new p5.Table();
  
  setTableData();
}
  
function setTableData() {
  
  // Add 5 columns and rows to the table
  for (let i = 0; i < 5; i++) {
    table.addColumn("Column " + i);
    table.addRow();
  }
  
  for (let r = 0; r < 5; r++) {
    for (let c = 0; c < 5; c++) {
  
      // Set the value at the given
      // column and row of the table
      table.set(r, c, r * 100 + c);
    }
  }
}
  
function showTable() {
  clear();
  text("The values of the table are " +
       "retrieved using the getNum() method",
       20, 20);
  
  // Show all the columns present
  for (let c = 0; c < 5; c++) {
    text(table.columns,
         20 + 100 * c, 80);
  }
  
  // Show all the rows currently
  // present in the table
  for (let r = 0; r < 5; r++) {
    for (let c = 0; c < 5; c++) {
  
      // Get the numerical value at
      // the given row and column
      text(table.getNum(r, c),
           20 + 100 * c,
           100 + 20 * r);
    }
  }
}


Output:

Example 2:

Javascript




function setup() {
  createCanvas(500, 300);
  textSize(18);
  
  text("Click on the button to get " +
       "the specific value in the table",
       20, 20);
    
  text("Enter row and column", 20, 60);
  
  rowInp = createInput();
  rowInp.position(30, 80);
  rowInp.size(30, 20);
  
  colInp = createInput();
  colInp.position(70, 80);
  colInp.size(30, 20);
  
  setBtn =
    createButton("Get value at row and column");
  setBtn.position(30, 110);
  setBtn.mouseClicked(getValueAt);
  
  // Create the table
  table = new p5.Table();
  
  setTableData()
}
  
function setTableData() {
  
  // Add 5 columns and rows to the table
  for (let i = 0; i < 5; i++) {
    table.addColumn("Column " + i);
    table.addRow();
  }
  
  for (let r = 0; r < 5; r++) {
    for (let c = 0; c < 5; c++) {
  
      // Set the value at the given
      // column and row of the table
      table.set(r, c, r * 100 + c);
    }
  }
}
  
function getValueAt() {
  clear();
  let rowToGet = int(rowInp.value());
  let colToGet = int(colInp.value());
  
  if (rowToGet < table.getRowCount() &&
      colToGet < table.getColumnCount()) {
    text("The value at row " + rowToGet +
         " and column " + colToGet + " is:",
         20, 160);
  
    // Get the numerical value at
    // the given row and column
    text(table.getNum(rowToGet, colToGet),
         20, 180);
  }
  else
    text("Please enter correct row and "
         "column values", 20, 160);
  
  text("Click on the button to get the "
       "specific value in the table", 20, 20);
  text("Enter row and column", 20, 60);
}


Output:

Online editor: https://editor.p5js.org/

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

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

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!

RELATED ARTICLES

Most Popular

Recent Comments