是否可以评估在JavaScript中写入字符串字符的向量



我将嵌入在Raspberry Pi中的节点服务器以及带有A/D和D/A转换器的外部板。当所有参数完成并在网站中按下一个按钮时,将其生成几个电压,并将感知的电压存储在ANI0之类的向量中。主要思想是使用数学表达式(如MathExp(来测量每个电压处的电流。因此,我需要评估ANIO中每个值的这些操作。用户在网页中介绍了该表达式在字符串原因中。我尝试使用命令评估来评估它,但它不起作用。甚至有可能使用某些命令执行此过程?

var ANI0 = [0.0,0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0];
var Mathexp; //operation inserted by the user in the webpage in a input text
Mathexp = '(ANIO[i]-0.01)/20'; //Example
for (i=0; I<ANIO.length; i++){
singleObj = {};
singleObj['voltage'] = eval(xScale);        
singleObj['current'] = eval(Mathexp);       
listOfObjects.push(singleObj);
}
//generate a jsonFILE in order to graph results with metrics graphics 
myJSON = JSON.stringify(listOfObjects);
fs.writeFile("public/data/file.json", myJSON, function(err){
    if(err){console.log(err);} else {console.log("archivo guardado..");}
});
socket.emit('graphEvent',{message: ':)'});
enter code here

无需进行评估,您只是在数组上进行数学操作,从代码中不清楚下一步要做什么,但总的来说,它将是之一两个:

  1. 将数组值降低到一个值,例如将您添加到每个项目的公式应用程序,然后将它们全部汇总在一起。
  2. 将公式应用于数组中的每个元素,然后返回已更新的数组。

在1的情况下,您会执行这样的操作(请注意,我正在使用ES6(:

var result = ANIO.reduce( (acc, curr) => curr + ((curr-0.01)/20));

在2的情况下,您可以做这样的事情:

var result = ANIO.map( val => (curr-0.01)/20 );

希望它有帮助。

最新更新