Freecodecamp: рдЕрд▓рд╛рд╡: рдорд┐рдереНрдпрд╛ рдмрд╛рдЙрдВрд╕рд░ - рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рдирд┐рд░реНрджреЗрд╢

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рджрд┐рд╕ре░ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: freeCodeCamp/freeCodeCamp

рдЪреИрд▓реЗрдВрдЬ рдмреЛрдирдлрд╛рдпрд░: рдлрд╛рд▓реНрд╕реА рдмрд╛рдЙрдВрд╕рд░ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ рд╣реИ: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 ред

рдлрд╛рд▓реНрд╕реА рдмрд╛рдЙрдВрд╕рд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдлрд╛рд▓реНрд╕реА рдорд╛рди NaN рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдмрд╛рдЙрдВрд╕рд░ ([7, "рдЦрд╛рдпрд╛", "", рдЭреВрдард╛, 9]) рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдП [7, "рдЦрд╛рдпрд╛", 9]
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдЦрд╛рдпрд╛" NaN рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкрд░рд┐рдгрд╛рдореА рд╕рд░рдгреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдХреЛрдб рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯ 1 рдФрд░ рдЯреЗрд╕реНрдЯ 3 рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╡реЗ рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдп рдЙрддреНрддрд░ рд╣реИрдВред

рдореЗрд░рд╛ рдХреЛрдб:

function bouncer(arr) {

  arr = arr.filter(function(val){
    if (val === false || val === null || val === undefined || val === "" || val === 0 || isNaN(val)) return false;
    return true;
  });

  return arr;
}

bouncer([false, null, 0, NaN, undefined, ""]);

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдФрд░, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Boolean рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХреЗ:
return arr.filter(Boolean) , рдЪреВрдВрдХрд┐ рдмреВрд▓рд┐рдпрди рд╕рддреНрдп/рдЧрд▓рдд рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдЧрд░ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ рддреЛ рдЕрдЧреНрд░рд┐рдо рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

NaN рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдПрдХ рдЪрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЭреВрдард╛ рд╣реИред "ate" рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ isNan("ate") рд╕рд╣реА рд▓реМрдЯреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореВрд▓реНрдп "ate" рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ NaN рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рдЧрд▓рдд рд╣реИред рдЭреВрдареЗ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реБрдВрджрд░рддрд╛ (рдФрд░ рдХрднреА-рдХрднреА рдмрдЧ рд╕реНрд░реЛрдд) рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдХреЛрдб рдХреА рддрд░рд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рднреА рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдиреНрд╣реЗрдВ рдЭреВрдареЗ рдХреЗ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрд╕ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

arr = arr.filter(function(val){
  return val;
});

рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЦреБрд╢ рдХреЛрдбрд┐рдВрдЧ!

рдФрд░, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Boolean рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХреЗ:
return arr.filter(Boolean) , рдЪреВрдВрдХрд┐ рдмреВрд▓рд┐рдпрди рд╕рддреНрдп/рдЧрд▓рдд рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mstellaluna picture mstellaluna  ┬╖  75рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

povilasraciunas picture povilasraciunas  ┬╖  59рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

QuincyLarson picture QuincyLarson  ┬╖  114рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dlwebdev picture dlwebdev  ┬╖  47рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johnkennedy9147 picture johnkennedy9147  ┬╖  43рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ