Присвоение массива Javascript переменной вызывает выпадение элементов из массива - PullRequest
0 голосов
/ 01 октября 2019

У меня возникла странная проблема, когда назначение массива переменной вызывает удаление некоторых элементов в массиве. Это также может быть связано с 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

Есть идеи, почему при присвоении данных переменной отбрасываются некоторые элементы?

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Оказывается, это происходило из-за того, что массив позднее мутировал в коде. Я не знал, что это повлияет на регистрацию до мутации, как указано @skirtle в комментариях выше.

0 голосов
/ 01 октября 2019

Я полагаю, вы должны сначала объявить вашу переменную ... как массив;затем разбери его

var localCards =[];
localCards =JSON.parse(localStorage.getItem('localCards'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...