2016-09-19 17 views
9

Ai đó có thể giải thích ngắn gọn cho tôi về sự khác biệt trong sử dụng giữa các phương pháp uniqdistinct?Đường ray: uniq so với riêng biệt

Tôi đã nhìn thấy cả hai được sử dụng trong ngữ cảnh tương tự, nhưng sự khác biệt không rõ ràng đối với tôi.

Trả lời

3

của nó không chính xác trả lời câu hỏi của bạn, nhưng những gì tôi biết là:

Nếu chúng ta xem xét Ngữ cảnh ActiveRecord sau đó uniq chỉ là bí danh cho riêng biệt. Và cả hai hoạt động như loại bỏ các bản sao trên tập kết quả truy vấn (mà bạn có thể nói đến một cấp).

Và tại mảng bối cảnh uniq quá mạnh đến nỗi nó sẽ loại bỏ trùng lặp ngay cả khi các phần tử được lồng nhau. ví dụ

arr = [[ "đầu tiên"], [ "thứ hai"], [ "đầu tiên"]]

và nếu chúng ta làm

arr.uniq

câu trả lời sẽ là: [["first"], ["second"]]

Vì vậy, ngay cả khi các phần tử là khối, nó sẽ đi sâu và loại bỏ các bản sao.

Hy vọng nó sẽ giúp bạn theo một số cách.

Các vấn đề liên quan