Как мне обработать пустую строку из полученного из локального хранилища - PullRequest
0 голосов
/ 02 мая 2020
<script type="text/javascript">

       function addfav(favor){
         // let a=String(favor.value)
         // console.log(a)
         // console.log(favor)

         let b=document.getElementById(favor).parentElement.parentElement.id
         console.log(b)
         let str=JSON.parse(localStorage.getItem("Favorites"))
         //What to do if str is null?
         str.push(b);
         localStorage.setItem("Favorites", JSON.stringify(str))
         document.getElementById(b).style="background-image: linear-gradient(to right,#5F0A87,#A4508B);";
       }
     </script>
     <script type="text/javascript">
       function getfav(){
         let i=0;
         var str=JSON.parse(localStorage.getItem("Favorites"))
         console.log(str)

         for(i=0;i<str.length;i++){
           document.getElementById(str[i]).style="background-image: linear-gradient(to right,#5F0A87,#A4508B);";
           console.log(document.getElementById(str[i]))
         }

       }


     </script>

изначально, когда мой список избранных пуст, он отображается как ноль, и я не могу добавить что-либо / pu sh что-либо

, приведенное выше, это функции addfav и getfav, где addfav срабатывает по щелчку и getfav запускается при загрузке страницы

Есть ли способ предотвратить возникновение / обработку null-строки null?

1 Ответ

1 голос
/ 02 мая 2020

Проверьте значение str перед его использованием ...

Пример:

let str = JSON.parse(localStorage.getItem("Favorites"));
if (!Array.isArray(str)) {
  str = [];
}
// Use str as an array...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...