Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để loại bỏ các giá trị sai khỏi một mảng trong JavaScript?

Thư viện Javascript underscore.js đã cung cấp _.compact () phương pháp để loại bỏ tất cả false các giá trị trong một mảng. Các giá trị false trong một mảng không là gì ngoài NaN, không xác định, chuỗi trống, false và 0. Nó trả về một mảng mới không có giá trị false dưới dạng đầu ra.

cú pháp

_.compact( array );

Nó nhận một mảng làm tham số và trả về một mảng mới không có false giá trị.

Ví dụ

<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>

Đầu ra

zero,1,2,3

Trong trường hợp nếu bất kỳ giá trị sai nào nằm trong dấu ngoặc kép ("") thì giá trị đó sẽ không bị coi là giá trị sai.

Trong ví dụ sau, vì số 0 xuất hiện bên trong dấu ngoặc kép là "0", nên nó sẽ không bị coi là sai giá trị. Vì vậy, nó sẽ được hiển thị trong đầu ra.

Ví dụ

<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>

Đầu ra

0,1,NaN,2,3