Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据给定的经验获得该级别?_Javascript_Math - Fatal编程技术网

Javascript 如何根据给定的经验获得该级别?

Javascript 如何根据给定的经验获得该级别?,javascript,math,Javascript,Math,我有一个公式,根据某个水平计算经验,另一个公式根据给定的经验计算水平。 但第二个函数不返回预期值 const levels=40; 第一级的常数xp\u=1000; 最后一级的常数xp\u=1000000; const getExperience=level=>{ const B=Math.log(xp\u表示最后一级/xp\u表示第一级)/(级别-1); 常数A=第一级的xp_/(数学经验(B)-1.0); const old_xp=Math.round(A*Math.exp(B*(1级))

我有一个公式,根据某个水平计算经验,另一个公式根据给定的经验计算水平。 但第二个函数不返回预期值

const levels=40;
第一级的常数xp\u=1000;
最后一级的常数xp\u=1000000;
const getExperience=level=>{
const B=Math.log(xp\u表示最后一级/xp\u表示第一级)/(级别-1);
常数A=第一级的xp_/(数学经验(B)-1.0);
const old_xp=Math.round(A*Math.exp(B*(1级));
const new_xp=Math.round(A*Math.exp(B*level));
返回新的\u xp-旧的\u xp;
};
const getLevel=experience=>{
const B=Math.log(xp\u表示最后一级/xp\u表示第一级)/(级别-1);
常数A=第一级的xp_/(数学经验(B)-1.0);
返回Math.ceil(Math.log(experience/A)/B);
};
console.log(getLevel(xp_表示第一级));//-9

console.log(getLevel(xp_表示最后一级));//30
我认为公式应该改变,我尝试了这个,它给出了正确的返回

const getLevel = experience => {
  const B = Math.log(xp_for_last_level / xp_for_first_level) / (levels + 1);
  const A = xp_for_first_level - 1;
  return Math.ceil(Math.log(experience / A) / B);
};

const getLevel=experience=>{const B=Math.log(xp_表示最后一级/xp_表示第一级)/(levels-1);const A=xp_表示第一级-1.0;返回Math.ceil(Math.log(experience/A)/B)这非常有效。谢谢你给我澄清!