Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Добавление элементов в массив (https://javascript.ru/forum/events/81441-dobavlenie-ehlementov-v-massiv.html)

laimas 27.11.2020 14:57

Цитата:

Сообщение от alex_wm
Я понял, такая конструкция работает только когда массив не пуст. Когда пуст - соответственно выдает ошибку

А у меня разве он изначально полон? И это не массив, а объект.

А вот у вас работать будет в любом случае не так как ожидается. Не так ли должно быть:

если в локальном хранилище имеется сохраненный объект, то arr равен декодированной записи из хранилища, а id максимальному значению его ключа, иначе ara = {}, id = 0?

рони 27.11.2020 15:21

alex_wm,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

</head>

<body>
<button>Add</button>
<pre></pre>
<script>
var arr = localStorage.arr;
arr = arr ? JSON.parse(arr) : [];
function addArr()
{
    var item = {};
    item['name'] = 'имя';
    item['image'] = 'изображение';
    arr.push(item); 
    showArr();
}
function showArr()
{
  var jsonArr = JSON.stringify(arr, null, '\t');
  document.querySelector('pre').textContent = localStorage.arr = jsonArr
}
showArr()
document.querySelector('button').addEventListener('click', addArr);
</script>


</body>
</html>

alex_wm 27.11.2020 16:51

laimas, огромное вам спасибо, сделал как вы, просто местами условия поменяли. Все работает, супер!!!


Часовой пояс GMT +3, время: 19:37.