Hướng dẫn filter array javascript
Trong bài này chúng ta sẽ tìm hiểu hàm filter trong javascript, đây là hàm dùng để lặp qua các phần tử trong mảng, dùng để lọc các phần tử trong mảng theo một điều kiện nào đó. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Hàm filter được tích hơp sẵn trong đối tượng mảng giống như hàm map trong javascript. Về cách thức hoạt động thì nó giống hàm map, nghĩa là nó sẽ có một tham số dạng function và function này sẽ xử lý cho mỗi lần lặp. Nếu function return true thì phần tử lần lặp đó được chấp nhận, ngược lại sẽ không được chấp nhận. 1. Filter trong javascript là gì?Filter trong Javascript là một phương thức thuộc đối tượng mảng. Nó có công dụng đúng ý nghĩa với tên gọi của nó, tức là sẽ lặp qua qua các phần tử, sau đó tùy vào từng bài toán mà sẽ quyết định chọn phần tử đó hay không. Cuối cùng hàm này sẽ trả về một mảng các phần tử đã chọn. Cú pháp của filter trong js như sau: Bài viết này được đăng tại [free tuts .net] objectArray.filter(function(value){ return true / false; }); Nếu Ví dụ 1: Dùng dụng hàm filter với lệnh return true. var numbers = [100, 200, 300, 400, 500]; var selected_number = numbers.filter(function(value){ return true; }); console.log(selected_number);// 100, 200, 300, 400, 500 Như bạn thấy, mảng mới có tổng số phần tử và giá trị của chúng không khác gì mảng cũ. Ví dụ 2: Dùng hàm filter với lệnh return false. var numbers = [100, 200, 300, 400, 500]; var selected_number = numbers.filter(function(value){ return false; }); console.log(selected_number); // Rỗng Kết quả trả về một mảng không có phần tử nào, lý do là ta đã return false cho mọi tường hợp. Ví dụ 3: Tạo mảng mới từ mnagr numbers và bỏ đi phần tử 300. var numbers = [100, 200, 300, 400, 500]; var selected_number = numbers.filter(function(value){ if (value == 300){ return false; } return true; }); console.log(selected_number); // 100, 200, 400, 500 Kết quả là phần tử có giá trị 300 đã biến mất. 2. Ví dụ hàm filter trong javascriptTa sẽ làm thêm một ví dụ nữa để giúp các bạn dễ hình dung hơn nhé. Ví dụ: Lấy các phần tử chẵn trong mảng cho trước. Với bài này thì ta có hai cách, thứ nhất là sử dụng hàm filter, và thứ hai là sử dụng vòng lặp for. Cách 1: Sử dụng hàm filter var numbers = [5, 10, 20, 22, 60, 75, 90]; var new_numbers = numbers.filter(function(item){ return (item % 2 == 0); }); console.log(new_numbers); // Kết quả: [10, 20, 22, 60, 90] Cách 2: Sử dụng vòng lặp for Một cách giải khác sử dụng vòng lặp for. var numbers = [5, 10, 20, 22, 60, 75, 90]; var new_numbers = []; for (var i = 0; i < numbers.length; i++){ if (numbers[i] % 2 == 0){ new_numbers.push(numbers[i]); } } console.log(new_numbers); // Kết quả: [10, 20, 22, 60, 90] 3. Lời kếtNhư vậy là mình đã hướng dẫn xong cách sử dụng vòng lặp foreach trong Javascript. Lưu ý là hàm này ta chỉ có thể sử dụng với mảng thôi nhé. Nếu bạn muốn sử dụng với đối tượng object thì tham khảo vòng lặp forEach nhé.
Hướng dẫn cách sử dụng Array filter trong JavaScript. Bạn sẽ học được cách dùng Array filter để lấy các phần tử thỏa mãn điều kiện chỉ định từ mảng ban đầu và ra tạo mảng mới trong JavaScript sau bài học này. Array filter trong JavaScriptArray filter trong JavaScript là phương thức trong Array Object, có tác dụng lấy các phần tử thỏa mãn điều kiện chỉ định từ mảng ban đầu và ra tạo mảng mới trong JavaScript. Phương thức Array filter hoạt động theo cơ chế:
Chúng ta sử dụng filter để lấy các phần tử thỏa mãn điều kiện chỉ định từ mảng ban đầu và ra tạo mảng mới với 3 kiểu cú pháp sau đây: arr.filter(callbackFn(value)); Trong đó:
Phương thức Array filter() sẽ nhận từng phần tử từ mảng, truyền vào callback function, kiểm tra điều kiện trong đó. Và nếu phần tử đó thỏa mãn điều kiện, nó sẽ được thêm vào như là một phần tử mới trong mảng ban đầu. Lấy phần tử thỏa mãn điều kiện và tạo mảng mới bằng filterChúng ta lấy phần tử thỏa mãn điều kiện và tạo mảng mới bằng Array filter như ví dụ sau đây: let num = [75, 68, 92, 84, 90]; Trong ví dụ này, chúng ta sử dụng biến Khi đó các phần tử num[2] và num[4] có giá trị 92 và 90 thỏa mãn điều kiện nên được lấy ra và thêm vào như là phần tử trong mảng kết quả. Và, một mảng mới gồm các phần tử được lấy ra từ mảng ban đầu thỏa mãn điều kiện đã được tạo ra. Sử dụng phương thức Array filter nâng caoNgoài việc truyền giá trị của phần tử vào hàm như trên, chúng ta cũng có thể truyền cả index của phần tử đó vào hàm callback để kiểm tra, giống như ví dụ sau: let num = [75, 68, 92, 84, 90]; Trong ví dụ này, chúng ta sử dụng cặp biến là Khi đó chỉ có phần tử num[4] có giá trị 90 thỏa mãn điều kiện nên được lấy ra và thêm vào như là phần tử trong mảng kết quả. Và, một mảng mới gồm các phần tử được lấy ra từ mảng ban đầu thỏa mãn điều kiện đã được tạo ra. Ngoài cách này, chúng ta cũng có thể truyền thêm toàn bộ cả mảng vào trong hàm callback để xét điều kiện nếu muốn. Ví dụ chúng ta có thể truyền cả giá trị, index của phần tử, cũng như cả mảng đó vào trong hàm callback để thực hiện xử lý như sau: let num = [75, 68, 92, 84, 90]; Với ví dụ này thì các điều kiện của giá trị và index của phần tử đang được xét, thì còn xét thêm một điều kiện nữa là số phần tử trong mảng phải nhỏ hơn 10. Và kết quả trả về như trên. Sử dụng kết hợp phương thức Array filter với các hàm và phương thức khácNgoài việc xử lý các phép tính toán số học như trên, chúng ta cũng có thể sử dụng các hàm và phương thức khác bên trong hàm callback của phương thức Array filter, nhằm giúp việc xử lý các giá trị linh hoạt hơn. Ví dụ, chúng ta có thể sử dụng phương thức Array filter kết hợp với phương thức isInteger để Lấy phần tử là số nguyên trong mảng JavaScript như sau: let num = [1, 12.3, 2, 55, 9.0]; Lại nữa, chúng ta có thể dùng arrow function để rút gọn hàm callback khi sử dụng phương thức Array map, như ví dụ sau đây: let num = [1, 12.3, 2, 55, 9.0];
Tổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách tìm kiếm trong mảng JavaScript theo điều kiện bằng cách sử dụng filter, find, some và every rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo. Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a> và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"> Bài viết liên quanHãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME>> học javascript - lập trình javascript cơ bản>>04. mảng trong javascript
Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#2
#3
#4
Top 6 thử thách thần chết thuyết minh phần 2 20236 tháng trước#5
#6
Top 5 áo khoác nam quảng châu cao cấp 20236 tháng trước#7
#8
Top 9 mẫu đồng phục công sở đẹp 2022 20236 tháng trước#9
Top 5 ốp lưng iphone 13 pro bảo vệ camera 20236 tháng trướcQuảng cáoXem NhiềuQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 boxhoidap.com Inc.
|