【发布时间】:2020-01-30 05:09:22
【问题描述】:
我遇到了一个奇怪的问题,将数组分配给变量会导致数组中的某些项目被删除。这也可能与 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
知道为什么将数据分配给变量会删除一些项目吗?
【问题讨论】:
-
你能提供一个minimal reproducible example吗?这些信息不足以重现该行为。
-
将其分配给局部变量不会删除项目。记录到控制台的对象/数组是“活动的”,直到您单击展开,所以如果任何其他代码修改了该数组,即使日志记录发生在突变之前,它也会反映在日志记录中。
标签: javascript arrays vue.js local-storage