将 Javascript 数组分配给变量会导致项目从数组中删除

我遇到了一个奇怪的问题,将数组分配给变量会导致数组中的某些项目被删除。这也可能与 Vue.js 相关。


我将一组数据存储在 localStorage 中作为字符串(因为这是 localStorage 接受的所有内容)。当用户单击应用程序中的按钮时,它会运行一个 Vue 函数,检查 localStorage 是否具有特定键,如果有,我将该键分配给函数中的变量“localCards”。当 localStorage 数据被分配给变量时,它会删除数组中的一些项目。为了更好地理解,下面是代码示例:


console.log( JSON.parse(localStorage.getItem('localCards')) );

// Returns the complete array

let localCards = JSON.parse(localStorage.getItem('localCards'));

console.log( localCards );

// Returns the first two items in the array

知道为什么将数据分配给变量会删除某些项目吗?


HUX布斯
浏览 130回答 2
2回答

BIG阳

事实证明,这是因为数组在代码中稍后发生了变异。正如@skirtle 在上面的评论中指出的那样,我不知道它会在突变之前影响日志记录。

九州编程

我想你应该先声明你的变量......作为一个数组;然后解析它var localCards =[];localCards =JSON.parse(localStorage.getItem('localCards'));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript