0

この機能を手伝ってくれる人はいますか?文字列にプロパティを設定すると想定され、この文字列は最初に各コントロールのコロン (:) で分割され、一致する ID があるかどうかがチェックされ、一致するプロパティがあるかどうかがチェックされます。プロパティが値を上書きする場合、私の関数はプロパティを上書きしないようで、元の文字列を返すだけです。誰か助けてくれませんか

var cookieValue = 'id=1&state=normal&theme=purple:id=2&state=maximized&theme=pink:id=3&state=maximized&theme=black';

var setProperties = function (cookie, id, prop, prop_value) {
    var windows = cookie.split(':');            

    var result = $.each(windows, function(index, value) {
        var temp1 = [];
        if(value.indexOf(id) > -1) {
            var temp2 = [];
            var properties = value.split('&');
            var result2 = $.each(properties, function(index, value) {

                if(value.indexOf(prop) > -1) {

                    temp3 = [];
                    temp3 = value.split('=');

                    temp3[1] = prop_value;  

                    temp2.push(temp3.join('='));
                }else {

                    temp2.push(value);
                }

                return temp2.join('&')

            });
            temp1.push(result2.join('&'));
            return temp1

        }
        else{
            temp1.push(value);  
        }
        return temp1;
    })
    return alert(result.join(':'));

}

setProperties(cookieValue, '2', 'theme', 'black');
4

2 に答える 2