📜  p5.js NumberDict div() 方法

📅  最后修改于: 2022-05-13 01:56:21.411000             🧑  作者: Mango

p5.js NumberDict div() 方法

p5.js 中 p5.NumberDict 的div() 方法将给定键处的值除以给定值,并将更新后的结果存储在同一键处。键值对是一组相互映射的两个值。可以通过使用该对的键部分查询此字典来访问这些值。数字字典可以存储多个键值对,这些键值对可以使用字典的方法进行访问。

句法:

div( Key, Amount )

参数:这个函数有两个参数,如上所示,下面讨论:

  • 键:这是一个数字,表示值将被分割的键。
  • 金额:这表示将值除以的数字,

下面的示例说明了 p5.js 中的div() 方法

例子:

Javascript
let y = 0;
  
function setup() {
  createCanvas(550, 500);
  textSize(16);
  
  text("Click on the button to create a new " +
       "dictionary and divide the given value",
       20, 20);
  
  text("Key:", 20, 260);
  text("Value:", 160, 260);
  
  key_input = createInput();
  key_input.position(70, 250);
  key_input.size(40);
  
  val_input = createInput();
  val_input.position(220, 250);
  val_input.size(40);
  
  setBtn = 
    createButton("Create random dictionary");
  setBtn.position(30, 40);
  setBtn.mouseClicked(createNewDict);
  
  divBtn =
    createButton("Divide given value at key");
  divBtn.position(30, 300);
  divBtn.mouseClicked(divVal);
}
  
function createNewDict() {
  clear();
  
  // Create an object with random values
  let obj = {};
  for (let i = 0; i < 6; i++) {
    let rk = ceil(Math.random() * 100);
    let rn = floor(Math.random() * 100);
    obj[rk] = rn;
  
    text("Key: " + rk + " : Value: " +
         rn, 40, 120 + 20 * i);
  }
  
  // Create a number dict using the above values
  numDict = createNumberDict(obj);
  
  text("New Dictionary created with values",
       20, 80);
  
  text("Click on the button to create a new " +
       "dictionary and divide the given value",
       20, 20);
  
  text("Key:", 20, 260);
  text("Value:", 160, 260);
}
  
function divVal() {
    
  // Get the key and value to be updated
  let keyToChange = int(key_input.value());
  let valToDiv = int(val_input.value());
  
  // Get the previous value in the dictionary
  let prevVal = numDict.get(keyToChange);
  
  // If the key exists in the dictionary
  if (prevVal) {
    numDict.div(keyToChange, valToDiv);
  
    // Get the updated value
    let updatedVal = numDict.get(keyToChange);
    
    text("The value at key: " + keyToChange +
         " was: " + prevVal, 20, 360 + y * 40);
    text("The updated value at key: " +
         keyToChange + " is: " + updatedVal,
         20, 380 + y * 40);
  }
  else {
    text("Please enter a proper key",
         20, 380 + y * 40);
  }
  
  y = y + 1;
  
  text("Click on the button to create a new " +
       "dictionary and divide the given value",
       20, 20);
}


输出:

在线编辑器: https://editor.p5js.org/
环境设置: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/
参考: https://p5js.org/reference/#/p5.NumberDict/div