Лучший способ сделать цикл в моем плагине Jquery? - PullRequest
0 голосов
/ 24 февраля 2012

Я создал for(var i in obj) в плагине, который я создаю, но я чувствую, что он может быть чище, чем иметь кучу if() утверждений. Я пытаюсь создать строку в зависимости от значения объекта объекта. В основном, если элемент объекта присутствует, поместите значение в строку. Надеюсь, это имеет смысл, если нет, то, возможно, код объяснит это лучше;

Вот как я называю плагин:

$.aicc('post',{status:'passed'});

или

$.aicc('post',{lesson_location:'1_25',status:'passed'});

или

$.aicc('post',{lesson_location:'1_25',status:'passed',score='85'});

Это должно быть динамично!

код

(function($)
{
    var methods =
    {
        init:function(p)
        {
            alert(p);
        },
        get:function(p)
        {
            alert(p);   
        },
        post:function(p)
        {
            var output = '';
            for(var i in p)
            {
            if(i=='lesson_location')
            {
                output += i+'='+p[i]+'\n';
            }
            if(i=='status')
            {
                output += i+'='+p[i]+'\n';
            }
            alert('[CORE]\n'+output);
         }
     };
$.aicc = function(method)
{
    if(methods[method])
    {
      return methods[method].apply(this,Array.prototype.slice.call(arguments,1));
    }
    else if(typeof method==='object'||!method)
    {
      return methods.init.apply(this,arguments);
    }
    else
    {
      $.error('Method ' + method+' does not exist on jQuery.tooltip');
    }
};
})(jQuery);

Желаемый выход : "[CORE]\nlesson_location=Page1\ncredit=Credit\nscore=85\ntime="00:00:00\nlesson_status=Passed"

1 Ответ

3 голосов
/ 24 февраля 2012

Если вам просто нужно «распечатать» и ключи, и значения вашего объекта, возможно, вам будет достаточно следующего:

var output = '';
for (var i in p) { 
    output += i + '=' + p[i] + '\n';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...