如何从JavaScript中的数组中删除错误值?

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