现在有一个数组,结构是这样的:[0:"简单:10:5"1:"一般:5:10"2:"困难:2:20"]怎么分别取出 “简单:10:5” ?最终的结果是要这样计算的:类别为“简单”的题有10道, 每道题5分;“一般”的题目有5道,每道题10分;“困难”的题有2道,每道题20分。这样可计算出“总计”=10+5+2=17,“满分”=10*5 + 5*10 + 2*20 = 140。谢谢!搞不清楚 [0:"简单:10:5"] 这样的数据结构到底是什么类型的,要怎么做?
1 回答
![?](http://img1.sycdn.imooc.com/545869390001b87802200220-100-100.jpg)
缥缈止盈
TA贡献2041条经验 获得超4个赞
没错,压根没有这种类型,所以这里我假如你的数据源是字符串,那么:
let re = /"([^:]+):([^:]+):([^:]+)"/g,
m,
res = [];
while (m = re.exec(data)) {
let item = {
type: m[1],
num: +m[2],
score: +m[3]
};
res.push(item);
// 总计 val += item.num;
// 满分 full += (item.num * item.score);
}
添加回答
举报
0/150
提交
取消