Create array in cookie with javascript

后端 未结 9 887
-上瘾入骨i
-上瘾入骨i 2020-12-08 10:32

Is it possible to create a cookie using arrays?

I would like to store a[0]=\'peter\', a[\'1\']=\'esther\', a[\'2\']=\'john\' i

9条回答
  •  独厮守ぢ
    2020-12-08 10:59

    I've created this easy way to get cookies. It'll give error if execute here, but it's functional

    var arrayOfCookies = [];
    function parseCookieToArray()
    {
        var cookies      = document.cookie;
        var arrayCookies = cookies.split(';');
        arrayCookies.map(function(originalValue){
            var name  = originalValue.split('=')[0];
            var value = originalValue.split('=')[1];
            arrayOfCookies[name] = value;
        });
    }
    console.log(arrayOfCookies); //in my case get out: [language: 'en_US', country: 'brazil']
    parseCookieToArray();

    New My new obj to create get cookies

    cookie = {
        set: function(name, value) {
            document.cookie = name+"="+value;
        },
        get: function(name) {
            cookies = document.cookie;
            r = cookies.split(';').reduce(function(acc, item){
                let c = item.split('='); //'nome=Marcelo' transform in Array[0] = 'nome', Array[1] = 'Marcelo'
                c[0] = c[0].replace(' ', ''); //remove white space from key cookie
                acc[c[0]] = c[1]; //acc == accumulator, he accomulates all data, on ends, return to r variable
                return acc; //here do not return to r variable, here return to accumulator
            },[]);
        }
    };
    cookie.set('nome', 'Marcelo');
    cookie.get('nome');
    

提交回复
热议问题