Xóa nhiều khóa khỏi đối tượng javascript
Toán tử xóa được thiết kế để sử dụng trên các thuộc tính đối tượng. Nó không ảnh hưởng đến các biến hoặc chức năng Show
Ghi chú. Không nên sử dụng toán tử xóa trên các thuộc tính đối tượng JavaScript được xác định trước. Nó có thể làm hỏng ứng dụng của bạn Toán tử 1 loại bỏ một thuộc tính khỏi một đối tượng. Nếu giá trị của thuộc tính là một đối tượng và không còn tham chiếu đến đối tượng, thì đối tượng được giữ bởi thuộc tính đó cuối cùng sẽ tự động được giải phóngThử nócú pháp
Ghi chú. Cú pháp cho phép phạm vi biểu thức rộng hơn sau toán tử 1, nhưng chỉ các dạng trên mới dẫn đến các hành vi có ý nghĩaThông số 3Tên của một đối tượng hoặc một biểu thức đánh giá một đối tượng 4Thuộc tính cần xóa Giá trị trả về 5 cho tất cả các trường hợp ngoại trừ khi thuộc tính là thuộc tính riêng không thể định cấu hình, trong trường hợp đó, 6 được trả về ở chế độ không nghiêm ngặtngoại lệ 7Bị ném vào chế độ nghiêm ngặt nếu thuộc tính là thuộc tính không thể định cấu hình của riêng 8Bị ném nếu 3 là 00Sự miêu tảToán tử 1 có cùng mức độ ưu tiên với các toán tử một ngôi khác như 02. Do đó, nó chấp nhận bất kỳ biểu thức nào được hình thành bởi các toán tử có mức độ ưu tiên cao hơn. Tuy nhiên, các hình thức sau dẫn đến lỗi cú pháp sớm trong chế độ nghiêm ngặt
Vì các lớp tự động ở chế độ nghiêm ngặt và các thuộc tính riêng tư chỉ có thể được tham chiếu hợp pháp trong nội dung lớp, điều này có nghĩa là các thuộc tính riêng tư không bao giờ có thể bị xóa. Mặc dù 03 có thể hoạt động nếu 04 đề cập đến một thuộc tính có thể định cấu hình của đối tượng toàn cục, nhưng bạn nên tránh biểu mẫu này và thay vào đó hãy thêm tiền tố vào nó bằng 05Mặc dù các biểu thức khác được chấp nhận nhưng chúng không dẫn đến các hành vi có ý nghĩa 0Toán tử 1 xóa thuộc tính đã cho khỏi đối tượng. Khi xóa thành công, nó sẽ trả về 5, ngược lại sẽ trả về 6. Không giống như những gì mà niềm tin phổ biến gợi ý (có lẽ do các ngôn ngữ lập trình khác như xóa trong C++), toán tử 1 không liên quan gì đến việc giải phóng bộ nhớ trực tiếp. Quản lý bộ nhớ được thực hiện gián tiếp thông qua phá vỡ các tham chiếu. Xem trang quản lý bộ nhớ để biết thêm chi tiếtĐiều quan trọng là phải xem xét các tình huống sau
Ghi chú trên nhiều trình duyệtTheo đặc tả ECMAScript hiện đại, thứ tự truyền tải của các thuộc tính đối tượng được xác định rõ ràng và ổn định trong quá trình triển khai. Tuy nhiên, trong trường hợp của Internet Explorer, khi một người sử dụng 1 trên một thuộc tính, một số hành vi khó hiểu sẽ dẫn đến việc ngăn các trình duyệt khác sử dụng các đối tượng đơn giản như các ký tự đối tượng làm mảng kết hợp có thứ tự. Trong Explorer, mặc dù giá trị thuộc tính thực sự được đặt thành 23, nhưng nếu sau đó một người thêm lại thuộc tính có cùng tên, thì thuộc tính đó sẽ được lặp lại ở vị trí cũ của nó — không phải ở cuối trình tự lặp lại như người ta có thể mong đợi sau khi đã xóa Nếu bạn muốn sử dụng một mảng kết hợp có thứ tự với sự hỗ trợ của các thời gian chạy cũ, hãy sử dụng một đối tượng 24 nếu có (ví dụ: thông qua một polyfill) hoặc mô phỏng cấu trúc này bằng hai mảng riêng biệt (một cho các khóa và một cho các giá trị) ví dụSử dụng xóaGhi chú. Ví dụ sau sử dụng các tính năng chỉ dành cho chế độ không nghiêm ngặt, chẳng hạn như ngầm tạo các biến toàn cục và xóa số nhận dạng, những tính năng này bị cấm ở chế độ nghiêm ngặt 5xóa và chuỗi nguyên mẫuTrong ví dụ sau, chúng tôi xóa thuộc tính riêng của một đối tượng trong khi thuộc tính có cùng tên có sẵn trên chuỗi nguyên mẫu 2Xóa phần tử mảngKhi bạn xóa một phần tử mảng, mảng 25 không bị ảnh hưởng. Điều này giữ ngay cả khi bạn xóa phần tử cuối cùng của mảngKhi toán tử 1 loại bỏ một phần tử mảng, phần tử đó không còn trong mảng. Trong ví dụ sau, 27 bị xóa bằng 1 3Điều này tạo ra một mảng thưa thớt với một khe trống. Nếu bạn muốn một phần tử mảng tồn tại nhưng có giá trị không xác định, hãy sử dụng giá trị 23 thay vì toán tử 1. Trong ví dụ sau, 27 được gán giá trị 23, nhưng phần tử mảng vẫn tồn tại 8Thay vào đó, nếu bạn muốn xóa một phần tử mảng bằng cách thay đổi nội dung của mảng, hãy sử dụng phương thức 33. Trong ví dụ sau, 27 bị xóa hoàn toàn khỏi mảng bằng cách sử dụng 33 2Xóa các thuộc tính không thể cấu hìnhKhi một thuộc tính được đánh dấu là không thể định cấu hình, 1 sẽ không có bất kỳ tác dụng nào và sẽ trả về 6. Ở chế độ nghiêm ngặt, điều này sẽ tăng 7 6 59 tạo các thuộc tính không thể định cấu hình và không thể xóa bằng toán tử 1 9Trong chế độ nghiêm ngặt, điều này sẽ đưa ra một ngoại lệ Xóa thuộc tính toàn cầuNếu thuộc tính toàn cầu có thể định cấu hình được (ví dụ: thông qua gán thuộc tính trực tiếp), thuộc tính đó có thể bị xóa và các tham chiếu tiếp theo tới chúng dưới dạng biến toàn cục sẽ tạo ra một 8
Làm cách nào để xóa nhiều khóa khỏi đối tượng trong JavaScript?hàm bỏ qua lấy đối tượng của bạn và một mảng khóa mà bạn muốn xóa rồi trả về một đối tượng mới với tất cả các thuộc tính của đối tượng ban đầu ngoại trừ các thuộc tính được đề cập trong mảng . Đây là một cách gọn gàng để loại bỏ các phím vì sử dụng cách này bạn có được một đối tượng mới và đối tượng ban đầu vẫn còn nguyên.
Làm cách nào để xóa nhiều thuộc tính khỏi đối tượng trong js?Bạn có thể sử dụng toán tử xóa , đơn giản hơn hoặc phá hủy đối tượng, có thể xóa nhiều thuộc tính cùng một lúc.
Làm cách nào để xóa khóa trong đối tượng JavaScript?Từ khóa JavaScript đặc biệt delete được sử dụng để xóa khóa đối tượng (còn được gọi là thuộc tính đối tượng). Mặc dù bạn có thể nghĩ rằng việc đặt khóa đối tượng bằng không xác định sẽ xóa nó, vì không xác định là giá trị mà các khóa đối tượng chưa được đặt có, nên khóa sẽ vẫn tồn tại.
Làm cách nào để xóa một số thuộc tính khỏi đối tượng JavaScript?Trong JavaScript, có 2 cách phổ biến để xóa thuộc tính khỏi đối tượng. Cách tiếp cận có thể thay đổi đầu tiên là sử dụng đối tượng xóa. người điều hành thuộc tính . Cách tiếp cận thứ hai, không thay đổi vì nó không sửa đổi đối tượng ban đầu, là gọi cú pháp phá hủy và trải rộng đối tượng. const {thuộc tính,. |