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

cookie存数组

cookie存数组

繁星coding 2019-03-15 17:19:20
操作两次之后 打印出来的两组数据都一样,是为什么求解答相关代码// var cuts = new Array();var cut = {}; $('.cut').on('touchstart',function(e){     video.play();    var cutStartTime = video.currentTime;     cut['cutStartTime'] = cutStartTime; }) $('.cut').on('touchend',function(e){     video.pause();    var cutEndTime = video.currentTime;     cut['cutEndTime'] = cutEndTime;     cuts.push(cut);    var jsoncut = JSON.stringify(cuts);     writeCookie ('cuts', jsoncut); })打印出来的[{"cutStartTime":1.28,"cutEndTime":2.294303},{"cutStartTime":1.28,"cutEndTime":2.294303}]
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

因为你的 cut 指向了同一个内存地址。
如果要解决这个问题,你需要每次 push 新的 object,而不是把 cut 这个引用给 push 进去。
一个暴力的解决方法是:

cuts.push(JSON.parse(JSON.stringify(cut)));

如果有帮到你请 upvote 或采纳~


查看完整回答
反对 回复 2019-03-15
?
Qyouu

TA贡献1786条经验 获得超11个赞

声明两个不同的对象:
var cut1 = {};
var cut2 = {};

查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 501 浏览
慕课专栏
更多

添加回答

举报

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