Я пытаюсь преобразовать словарь из localStorage в массив объектов. Мне нужно, чтобы использовать функцию .filter()
, но я получаю TypeError, когда я конвертирую его.
Это показывает, что this.savedNews
является массивом в консоли Vue, но проверка типа с Array.isArray()
возвращает false
. Также typeof()
дает разные результаты (см. Ниже):
data() {
return {
savedNews: Array // -> case 1
//savedNews: [] -> case2
}
},
mounted() {
console.log(typeof(this.savedNews))
// case1 -> returns 'function'
// case 2 -> returns 'object'
if(localStorage.savedNews){
let storedSavedNews = JSON.parse(localStorage.getItem('savedNews'))
this.savedNews = Object.keys(storedSavedNews).map((key) => {
return storedSavedNews[key]
})
}
},
computed: {
filteredSavedNews() {
console.log(typeof(this.savedNews))
// case 1 -> returns 'function', then 'object'
// case 2-> 'object', 'object'
return this.savedNews
}
},