Javascript库underscore.js提供了 _.compact()方法来删除数组中的所有错误 值。数组中的false值不过是NaN,未定义,空字符串,false和0。它返回一个新数组,该数组不包含false值作为输出。
_.compact( array );
它使用一个数组作为参数,并返回一个没有错误 值的新数组。
<html> <body> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> document.write(_.compact(["zero", 1, NaN,false, 2, '', 3, undefined])); </script> </body> </html>
输出结果
zero,1,2,3
如果引号(“”)内包含任何假值,则不会将其视为假值。
在下面的示例中,由于引号内的0表示为“ 0”,因此不会将其视为错误 值。因此它将显示在输出中。
<html> <body> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> document.write(_.compact(["0", 1, 'NaN',false, 2, '', 3, undefined])); </script> </body> </html>
输出结果
0,1,NaN,2,3