cookie存数组

操作两次之后 打印出来的两组数据都一样,是为什么求解答

相关代码

// 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}]


繁星coding
浏览 502回答 2
2回答

墨色风雨

因为你的 cut 指向了同一个内存地址。如果要解决这个问题,你需要每次 push 新的 object,而不是把 cut 这个引用给 push 进去。一个暴力的解决方法是:cuts.push(JSON.parse(JSON.stringify(cut)));如果有帮到你请 upvote 或采纳~

Qyouu

声明两个不同的对象:var cut1 = {};var cut2 = {};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript