рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдВрдШ (v 1.1)

рд╣рд╛рдп рд╣рдорд░!
рдХрд▓ рд╣реА, рджреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ рдлреИрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рд╕реАрдЦрд╛ рдХрд┐ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рд╣реИред (" рдмрд░реНрд╕реНрдЯрд┐рдВрдЧ " - рд╕реНрдЯрд░реНрд▓рд┐рдВрдЧрд┐рдЯ рд╕реЛрдЪрд╛) рдкреЛрд░рд╛рдХрд┐рдирд┐рди рджрд┐рдорд╛рдЧреЛрдВ рдиреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕рд╛рдЗрдХрд┐рд▓ рд╡рд┐рдзрд┐ рдмрдирд╛рдИред

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
  1. рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рддреНрд░реИрдорд╛рд╕рд┐рдХ рдХреЗ рд╕рд╛рде рдХреЙрдкреА рдХрд░рдирд╛, рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд╕рднреА рдЧреБрдг рд╣реИрдВред
  2. рд╕реНрд░реЛрдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЯреНрд░рд╛рд╡реЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдЧреБрдгреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реЛрдЧреА рдЬреЛ рдкрд╣рд▓реА рдФрд░ рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдХреА рдореВрд▓ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреА рд╣реИред
  3. рдпрджрд┐ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рдЧреБрдг рд╣реИрдВ, рддреЛ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
    1. рджреЛрдиреЛрдВ рдЧреБрдгреЛрдВ рдХреЗ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд╕рд╛рде - рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирддреА рд╣реИ
    2. рд╕реНрд░реЛрдд рд▓рдХреНрд╖реНрдп рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде

  4. рдбреЗрдкреНрде рд▓рд┐рдорд┐рдЯ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ

рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рд░реНрдп рд╣реА:
/** *       * @param objS <i>object</i>       * @param objT <i>&object</i>       * @param rec <i>bool</i>    -   *        " " * @param repl <i>bool</i>        *     -     * @param max_l_rec <i>int</i>   (  ) *   1   " " */ function objUnion(objS, objT, rec, repl, max_l_rec) { //      var count_elem = objS.length; //         , // -  ,  -   , // ,          if(!objT.hasOwnProperty("cur_l_rec")) { objT.cur_l_rec = 0; objT.summ_elem = 0; var cur_l_rec = 0; } else { objT.cur_l_rec++; cur_l_rec = objT.cur_l_rec; } //     if(max_l_rec && objT.cur_l_rec == max_l_rec) { objUnion(objS, objT, rec, repl, max_l_rec); delete objT.cur_l_rec ; return; } //  for(var key in objS) { //     //     -    if(typeof(objS[key]) == 'object') { if(rec && ((max_l_rec && objT.cur_l_rec < max_l_rec)|| !max_l_rec)) { objUnion(objS[key], objT, rec, repl, max_l_rec); objT.cur_l_rec = cur_l_rec; //          if(objT.cur_l_rec == 0) { objT.summ_elem ++; } continue; } } //,    ,    //    ,       if(objT[key] && !repl) { objT[key] = [objS[key],objT[key]]; } else { objT[key] = objS[key]; } } //         if((objT.summ_elem == count_elem || !objS.hasOwnProperty('length')) && (objT.cur_l_rec == 0 && cur_l_rec == 0)) { delete objT.cur_l_rec ; delete objT.summ_elem ; } } //  var obj1 = [ { field4 : { field9 : { field10 : 1 }, field8 : 2 }, field5 : 3 }, { field6 : 5, field7 : { field11 : 'green', field12 : 'black' } }, { field13 : 5, field14 : { field15 : 'green', field16 : 'black' } } ]; var obj2 = { field1 : 'green', field2 : 'square', field3 : 'small' }; //       var link = obj2 objUnion(obj1, link, 1, 0, 1); //  link = null; console.log(obj2); 


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реА рдмрд╛рдЗрдХ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред

JQuery рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдХрдиреЗрдХреНрдЯ рди рдХрд░реЗрдВред

PS рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрдиреБрд░реЛрдз, рдЕрдЧрд░ рдЖрдкрдХреЛ рдореЗрд░рд╛ рдХрд╛рд░реНрдп рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд┐ рдпрд╣ рдмреБрд░рд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЕрдЪреНрдЫреЗ рд╕реЗ рддрдп рдХрд░реВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/In139075/


All Articles