Javascript 拆分字符串,计算各部分并重新连接

Javascript 拆分字符串,计算各部分并重新连接,javascript,Javascript,我试图找出如何将字符串拆分为单个字符,然后使用javascripteval()重新加入字符串 我有一个字符串,看起来像这个2*2d8/2d8,我用/拆分字符串,如下所示 remDice.split("/").forEach(function (remDie) { console.log(remDie); }); 这给了我两个不同的部分,但我似乎不知道如何做下一个部分,它是由字符d然后eval()这两个部分分割的。所以我的最后一个字符串看起来像4d8/2d8 我知道您应该避免eval()

我试图找出如何将字符串拆分为单个字符,然后使用javascript
eval()
重新加入字符串

我有一个字符串,看起来像这个2*2d8/2d8,我用
/
拆分字符串,如下所示

remDice.split("/").forEach(function (remDie) {
    console.log(remDie);
});
这给了我两个不同的部分,但我似乎不知道如何做下一个部分,它是由字符
d
然后
eval()
这两个部分分割的。所以我的最后一个字符串看起来像
4d8/2d8

我知道您应该避免
eval()
,但这确实不是本项目的问题。

可能的解决方案:
var str='2*2d8/2d8',
str2=str.split('/').map(v=>v.split('d').map(c=>eval(c)).join('d')).join('/');

控制台日志(str2)更新@Kind user的解决方案,因为我认为原始Q期望有点不同的结果

var str='2*2d8/2d8',
str2=str.split('/').map(v=>{
s=v.split('d')
返回eval(s[0])+“d'+eval(s[1])
}).join(“/”)

控制台日志(str2)您希望从该计算中得到什么结果?在
.forEach()
的回调中,您始终可以执行另一个
.split()
调用。这是否仅限于此类型输入的一个级别?我仍然希望
d
字符,我希望数学运算只发生在
d
的左右两侧,以便
2*2
变为
4
。最后一个字符串应该看起来像
4d8/2d8
。对不起,我不确定我的措辞是否恰当。这正是我所期待的。哇,太棒了!