为了账号安全,请及时绑定邮箱和手机立即绑定

数组,对象问题?

数组,对象问题?

一只萌萌小番薯 2018-12-20 18:19:40
想取用户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)


查看完整回答
反对 回复 2019-01-28
  • 1 回答
  • 0 关注
  • 376 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信