Javascript 是否用对象数组中匹配的值替换字符串的一部分?

Javascript 是否用对象数组中匹配的值替换字符串的一部分?,javascript,arrays,string,Javascript,Arrays,String,我试图找出如何从字符串中的对象中填充一些值,以便最终执行一些数学运算。我可以从括号中获取数据和匹配值,但我仍停留在从这里开始的方向上,或者如果有其他方法,那将是更好的实践。以下是我正在使用的示例: var array = [{name: M, value: 45},{name: F, value: 23},{name: L, value: 9}] var string = '( 2 * [M] ) * ( 5 / [F] ) * ( 100 + [L] )' 为了简化我的解释,我需要使用字符串

我试图找出如何从字符串中的对象中填充一些值,以便最终执行一些数学运算。我可以从括号中获取数据和匹配值,但我仍停留在从这里开始的方向上,或者如果有其他方法,那将是更好的实践。以下是我正在使用的示例:

var array = [{name: M, value: 45},{name: F, value: 23},{name: L, value: 9}]
var string = '( 2 * [M] ) * ( 5 / [F] ) * ( 100 + [L] )'
为了简化我的解释,我需要使用字符串公式,并将“M”的值插入“[M]”,将“F”的值插入“[F]”,依此类推……

您可以使用。它是用来做公式之类的

let vars={M:45,F:23,L:9};
设方程='(2*M)*(5/F)*(100+L)';
console.log(
方程式
'=',
纳达默(
方程式
瓦尔斯
)
.评估()
.text()
);

以下是一行解决方案:

const数组=[{name:'M',value:45},{name:'F',value:23},{name:'L',value:9}]
常量字符串=“(2*[M])*(5/[F])*(100+[L])”;
const calculate=(数组)=>array.reduce((累加器,currentValue)=>{return acculator.replace(`[${currentValue.name}]`,currentValue.value},string);

log('Result:',eval(计算(数组))您可以试试这个。多谢各位

var变量=[{name:“M”,值:45},{name:“F”,值:23},{name:“L”,值:9}];
var方程=“(2*[M])*(5/[F])*(100+[L])”;
常量getfinalEquation=(数组,equationWithVars)=>{
设finalEquation=equationWithVars;
array.forEach(项=>{
finalEquation=finalEquation.replaceAll(`[${item.name}]`,item.value);
})
返回最终方程;
}

log(getfinalEquation(变量、方程))可以使用模板文本。它们可以用来在字符串中注入值谢谢你的解释,你知道一种“普通”的方法吗?但是这就剩下了
[45]
@LuisAFK Ughh,对不起。。。我忘了取下支架。谢谢你的注意。编辑。。。