Như ở bài viết về LINQ, các bạn đã thấy sự mạnh mẽ và tiện dụng của LINQ trong C# (Java 8 chỉ mới cập nhật Stream API, mà vẫn còn thua LINQ nhiều lắm…). Để sử dụng 1 số hàm tương-tự-LINQ trong javascript, người ta thường dùng 1 số thư viện như: underscore, lodash, … Trong bài viết này, mình sẽ giới thiệu 1 số function (ít người biết) sẵn có trong prototype Array của javascript, cũng có tác dụng tương tự như LINQ.
var students=[
{Name: 'Hoang', Age: 20},
{Name: 'Minh', Age: 5},
{Name: 'Sang', Age: 50},
{Name: 'Long', Age: 27},
{Name: 'Khoa', Age: 10},
];
1. filter
var ageLess20 = students.Where(st => st.Age < 20);
var ageLess20 = students.filter(function(element, index, array){
return element.Age > 22;
});
//Nếu không quan tâm tới index hay array, ta có thể viết
var ageLess20 = students.filter(function(st){ return st.Age > 22; });
//Ở Firefox, hiện tại javascript đã lên phiên bản ES6
//Ta có thể dùng arrow function, tương tự lambda expression
var ageLess20 = students.filter(st -> st.Age > 22);
https://toidicodedao.com/2015/04/14/ap-dung-linq-trong-javascript-chuyen-nhieu-nguoi-chua-biet/