想取用户id和已打分数组成一个数组,但是修改分数后,修改的也被追加到数组中,请问这该怎么解决呀,在此谢过。代码如下:修改了代码:但是报错:console.log(fraction,id)后:
1 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
不要push,直接修改对应的对象
红框内的代码可以这么写
// 筛选出更改对象
var obj = fraction.filter(function(value) {
return value.userid === Number(id)
})[0];
// id对应的对象不存在
if (!obj) {
fraction.push({
userid: id,
mark: num
})
return
}
// 对象存在,修改分数
obj.mark = num
当然如果你用了babel或者其他能编译ES6代码的工具,筛选的代码可以这么写,语义更明确
// 筛选出更改对象
const obj = fraction.find(value => value.userid === id)
添加回答
举报
0/150
提交
取消