рдЪреИрд▓реЗрдВрдЬ рдмреЛрдирдлрд╛рдпрд░: рдлрд╛рд▓реНрд╕реА рдмрд╛рдЙрдВрд╕рд░ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ рд╣реИ: 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, ""]);
рдЕрдЧрд░ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ рддреЛ рдЕрдЧреНрд░рд┐рдо рдХреНрд╖рдорд╛ рдХрд░реЗрдВред
NaN
рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдПрдХ рдЪрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЭреВрдард╛ рд╣реИред "ate"
рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ isNan("ate")
рд╕рд╣реА рд▓реМрдЯреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореВрд▓реНрдп "ate"
рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ NaN
рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рдЧрд▓рдд рд╣реИред рдЭреВрдареЗ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реБрдВрджрд░рддрд╛ (рдФрд░ рдХрднреА-рдХрднреА рдмрдЧ рд╕реНрд░реЛрдд) рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдХреЛрдб рдХреА рддрд░рд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рднреА рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдиреНрд╣реЗрдВ рдЭреВрдареЗ рдХреЗ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрд╕ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
arr = arr.filter(function(val){
return val;
});
рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЦреБрд╢ рдХреЛрдбрд┐рдВрдЧ!
рдФрд░, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Boolean
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХреЗ:
return arr.filter(Boolean)
, рдЪреВрдВрдХрд┐ рдмреВрд▓рд┐рдпрди рд╕рддреНрдп/рдЧрд▓рдд рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдФрд░, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Boolean
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд╕рдХреЗ:return arr.filter(Boolean)
, рдЪреВрдВрдХрд┐ рдмреВрд▓рд┐рдпрди рд╕рддреНрдп/рдЧрд▓рдд рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд▓реМрдЯрд╛рддрд╛ рд╣реИред