// Bước 1: Khởi tạo mảng
var numbers = [1, 2, 3, 4];
// Bước 2: Sắp xếp theo thứ tự giảm
var sortedNumbers = linq(numbers).desc();
// Bước 3: Thêm một phần tử mới vào mảng gốc
numbers.push(5);
// Bước 4: Xuất ra kết quả
sortedNumbers.alert();
Ở tại bước 2, nếu ngay lúc đó biểu thức linq thực thi và sắp xếp lại thứ mảng giảm dần là không cần thiết, vì ta chưa sử dụng đến kết quả sắp xếp đó, đến bước 3 ta thêm một phần tử vào mảng numbers thì linq vẫn chưa làm công việc của mình, chỉ khi ta gọi những hàm kết xuất như alert, array.. thì toàn bộ biểu thức mới được thực thi.
Theo như mình tham khảo một số thư viện khác, ngay tại bước 2 thì linq của họ đã thực thi và chuyển hóa thành một mảng số mới đã được sắp xếp, những thao tác sau đó với linq đều không có tác dụng.
Hãy nói không với 4T