基本的にCookieから値を取得して特定の名前のチェックボックスを探し、Cookieの値に基づいて値を追加する、非常によく似たコードを持つ2つの条件があります。
私の質問は、クッキーの名前を切り替えるだけで本質的に同じことを行うときに、これを 2 つの条件で使用する非常に冗長なコードのように思われることです。これをどのように凝縮して、よりコンパクトにし、それほど冗長にしないでしょうか。私はこれを理解しようとして頭を叩いています。助けてくれてありがとう。コードを見ることでよりよく学ぶことができるので、サンプルは非常に役に立ち、高く評価されています。
$.fn.userLocator = function(opts) {
if($.cookie('userLocation')){
var userLoc = [];
userLoc = $.cookie('userLocation').split(",");
for(i=0; i!=userLoc.length;i++) {
var checkbox = $("input[name='filter-location'][value='"+userLoc[i]+"']");
checkbox.attr("checked","checked");
}
}
if($.cookie('userServices')){
var serviceLoc = [];
serviceLoc = $.cookie('userServices').split(",");
for(i=0; i!=serviceLoc.length;i++) {
var checkbox = $("input[name='filter-service'][value='"+serviceLoc[i]+"']");
checkbox.attr("checked","checked");
}
}
}