Chúng tôi đã sử dụng logic NOT [. ] để phủ nhận cuộc gọi đến phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8 vì chúng tôi chỉ muốn thêm giá trị nếu nó chưa có trong mảng
Dưới đây là một số ví dụ khác về việc sử dụng logic NOT [. ] nhà điều hành
Bạn có thể tưởng tượng rằng logic NOT [. ] toán tử đầu tiên chuyển đổi giá trị thành một
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]9 và sau đó lật nó
Khi bạn phủ định một giá trị sai, toán tử trả về
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0, trong tất cả các trường hợp khác, nó trả về
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1
Giá trị giả là.
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2,
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]30, chuỗi rỗng,
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]31,
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]32 và
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1
Ngăn chặn thêm các Bản sao vào Mảng bằng indexOf
Để ngăn thêm các bản sao vào một mảng
- Sử dụng phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]
34 để kiểm tra xem giá trị không có trong mảng - Phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]
35 trả về["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]
36 nếu giá trị không được chứa trong mảng - Nếu điều kiện được đáp ứng, đẩy giá trị vào mảng
Mảng. Phương thức indexOf trả về chỉ số của lần xuất hiện đầu tiên của giá trị trong mảng
Nếu giá trị không có trong mảng, nó sẽ trả về
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]36
Câu lệnh
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]38 kiểm tra xem phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]35 có trả về
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]36 không. Nếu có, giá trị không có trong mảng, vì vậy chúng tôi sử dụng phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]3
Một cách tiếp cận khác là sử dụng một đối tượng Set, thay vì một mảng
Đặt đối tượng lưu trữ một tập hợp các giá trị duy nhất. Điều này làm cho không thể thêm một giá trị trùng lặp vào một
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]82
Chúng tôi đã sử dụng Bộ. phương thức add để thêm một giá trị vào
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]82
Giá trị đã được chứa trong
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]82, vì vậy lệnh gọi phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]85 của chúng ta không làm gì cả
Các đối tượng tập hợp bị hạn chế hơn nhiều so với mảng và thực hiện ít phương thức hơn. Tuy nhiên, chúng có các trường hợp sử dụng và lưu trữ giá trị duy nhất là chính
Đây là trường hợp sử dụng phổ biến trong nhiều dự án cần xóa các bản sao khỏi một mảng trong JavaScript. Đối với các cuộc phỏng vấn, đó là một thử thách viết mã phổ biến để thực hành cho mọi người
Dưới đây là bảy cách để lọc các giá trị trùng lặp khỏi một mảng và chỉ trả về các giá trị duy nhất
Câu hỏi phỏng vấn mã hóa. lành nghề. nhà phát triển
Một nền tảng đầy đủ nơi tôi dạy cho bạn mọi thứ bạn cần để có được công việc tiếp theo và các kỹ thuật để…
lành nghề. nhà phát triển
Sử dụng phương pháp lọc
Phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]9 tạo một mảng mới gồm các phần tử vượt qua điều kiện mà chúng tôi cung cấp. Còn phần tử nào bị lỗi hoặc trả về
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1 thì nó sẽ không có trong mảng đã lọcLoại bỏ các phần tử trùng lặp khỏi một mảng trong JavaScript
Và chúng ta cũng có thể sử dụng phương thức lọc để truy xuất các giá trị trùng lặp từ mảng bằng cách điều chỉnh điều kiện của chúng ta
Bằng cách sử dụng một bộ
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1 là một loại đối tượng mới với ES6 [ES2015] cho phép bạn tạo các bộ sưu tập các giá trị duy nhất
Sử dụng phương thức forEach
Bằng cách sử dụng
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2, chúng tôi có thể lặp lại các phần tử trong mảng và chúng tôi sẽ đẩy vào mảng mới nếu nó không tồn tại trong mảng
Bằng cách sử dụng phương pháp rút gọn
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]3 luôn khó hiểu hơn một chút. Phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]4 được sử dụng để rút gọn các phần tử của mảng và kết hợp chúng thành một mảng cuối cùng dựa trên một số hàm rút gọn mà bạn truyền vào
Cùng một phương pháp rút gọn với một cách tiếp cận khác
Thêm một Phương thức duy nhất vào Nguyên mẫu mảng
Trong Javascript, hàm tạo nguyên mẫu mảng cho phép bạn thêm các thuộc tính và phương thức mới vào đối tượng Array
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1 sẽ hoạt động nhanh hơn nhiều khi bạn so sánh với cách tiếp cận thông thường
Bằng cách sử dụng gạch dưới JS
Phương thức
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]6 tạo ra một phiên bản không trùng lặp của mảng và chúng ta cũng có thể sắp xếp mảng này bằng cách truyền tham số thứ hai là true
Loại bỏ các đối tượng trùng lặp khỏi một mảng đã cho
Đôi khi, yêu cầu xóa các đối tượng trùng lặp khỏi một mảng đối tượng theo tên thuộc tính. Chúng ta có thể đạt được điều này bằng cách
Đó là tất cả. Tôi hy vọng bài viết này có thể hữu ích để xóa các bản sao khỏi một mảng
Cảm ơn vì đã đọc. ]
Tăng cấp mã hóa
Cảm ơn vì đã là một phần của cộng đồng của chúng tôi. Tăng cấp đang chuyển đổi tuyển dụng công nghệ. Tìm công việc hoàn hảo của bạn tại các công ty tốt nhất
Có nhiều phương pháp khác nhau để tìm các bản sao trong mảng. Chúng tôi sẽ thảo luận về hai cách để tìm các bản sao trong mảng
Bộ JavaScript. Đối tượng Set cho phép bạn lưu trữ các giá trị duy nhất thuộc bất kỳ loại nào, cho dù là giá trị nguyên thủy hay tham chiếu đối tượng. Đây là phương pháp đơn giản nhất để loại bỏ phần tử trùng lặp và lấy các phần tử duy nhất từ một mảng
Ví dụ. Giả sử chúng ta có một mảng tên là Thành phố bao gồm các tên thành phố trùng lặp và chúng ta muốn loại bỏ các tên trùng lặp và tìm các phần tử duy nhất khỏi nó
Javascript
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]7
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]9
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]3
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]5
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]3
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
[ 'surat', 'ahmedabad', 'rajkot', 'mumbai', 'delhi', 'anand' ]4
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]70
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
_______58____573
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]76
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]78
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]80
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]81
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]82
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
_______58____585
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]87
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]88
đầu ra
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]
Phương thức JavaScript forEach[]. Chúng tôi sử dụng hàm JavaScript include[] trả về true nếu một phần tử nằm trong một mảng hoặc false nếu nó không có mặt
Ví dụ. Ví dụ sau lặp lại các phần tử của một mảng và thêm các phần tử vào một mảng mới chưa có
Javascript
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]7
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]9
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]1
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]3
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]5
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]3
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
[ 'surat', 'ahmedabad', 'rajkot', 'mumbai', 'delhi', 'anand' ]4
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]70
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]0
_______58____573
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]22
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]24
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]26
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]28
________ 62 ________ 630 ________ 631
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]32
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]33
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]2
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]35
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]37
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
_______58____585
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]8
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]87
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]88
đầu ra
["surat", "ahmedabad", "rajkot", "mumbai", "delhi"]
Mảng JavaScript. phương thức lọc[]. Chúng tôi sử dụng phương thức JavaScript indexOf[] trả về chỉ số nhỏ nhất của số nếu có phần tử trùng lặp trong Mảng và kiểm tra chỉ mục phần tử hiện tại với giá trị trả về. Trên cơ sở kiểm tra, chúng tôi lọc Mảng