Cookie в JS

Cookie в js представлены в виде строки. Поэтому работа с ними может вызывать некоторые трудности.
Например сейчас они представлены так: 
1
2
3
4
<div id="testcookie" class="lesson-output"></div>
<script>
$("#testcookie").html(document.cookie);
</script>
И это проблема. Напишем функцию, представляющую cookie в виде массива:
1
2
3
4
5
6
7
var cookies={};
document.cookie.replace(/; /g,";").split(";").forEach(function(element){
    var cookie=element.split("=");
    if(cookie.length==2){
        cookies[cookie[0]]=cookie[1];
    }
});
Из интересного в этой функции: replace(/; /g,";") - используя регулярные выражения удаляет лишний пробел после ";" split(";") - разбивает строку на массив. Делителем выступает знак ";" forEach(function(element){}) - проходит по всем элементам массива. Значение каждого элемента возвращается аргументом element
И воспользуемся js-функцией вывода массива:

Так мы получаем массив cookie. Получение cookie важная часть работы с ними, но важно и научиться их %b%создавать%/b%. Можно воспользоваться простым, стандартным способом:
1
document.cookie="my_cookie=value; expires=Mon, 01-Jan-2018 00:00:00 GMT";
Это создаст cookie "my_cookie" со значением "value", которая будет удалена в январе 2018 года. Довольно удобно, поэтому можно оставить и такой механизм. Чтобы удалить cookie, необходимо установить дату уничтожения на прошедшее число:
1
document.cookie="my_cookie=value; expires=Mon, 01-Jan-2001 00:00:00 GMT";
Таким образом cookie автоматически удалится (другие cookie затронуты не будут). Спасибо за внимание.
Если статья Вам показалась незаконченной или Вы знаете как её улучшить, пожалуйста сообщите мне e@gohtml.ru