Hướng dẫn how to delete key in object javascript - cách xóa khóa trong đối tượng javascript
Toán tử Show
Thử nóCú pháp
Lưu ý: Cú pháp cho phép phạm vi biểu thức rộng hơn theo toán tử 1 operator, but only the above forms lead to meaningful behaviors.Thô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. 4Tài sản để xóa. Giá trị trả về 5 Đối với tất cả các trường hợp ngoại trừ khi tài sản là một thuộc tính không thể cấu hình riêng, trong trường hợp đó 6 được trả về ở chế độ không nghiêm ngặt.Ngoại lệ 7Ném ở chế độ nghiêm ngặt nếu tài sản là một thuộc tính không thể cấu hình riêng. 8Ném nếu 3 là 0.Sự mô tảToán tử 1 có mức độ ưu tiên tương tự như các toán tử Unary khác như 2. Do đó, nó chấp nhận bất kỳ biểu thức nào được hình thành bởi các nhà khai thác cấp cao hơn. Tuy nhiên, các biểu mẫu sau dẫn đến các lỗi cú pháp sớm ở chế độ nghiêm ngặt:
Bởi vì các lớp tự động ở chế độ nghiêm ngặt và các thuộc tính riêng chỉ có thể được tham chiếu hợp pháp trong các cơ quan 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ù 3 có thể hoạt động nếu 4 đề cập đến một thuộc tính có thể định cấu hình của đối tượng toàn cầu, bạn nên tránh biểu mẫu này và thay vào đó là 5.Mặc dù các biểu thức khác được chấp nhận, chúng không dẫn đến các hành vi có ý nghĩa:
Toán tử 1 loại bỏ một thuộc tính nhất định khỏi một đối tượng. Khi xóa thành công, nó sẽ trả lại 5, nếu không 6 sẽ được trả lại. Không giống như những gì niềm tin phổ biến cho thấy (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 bộ nhớ giải phóng trực tiếp. Quản lý bộ nhớ được thực hiện gián tiếp thông qua các tài liệu tham khảo. Xem trang quản lý bộ nhớ để biết thêm chi tiết.nothing to do with directly freeing memory. Memory management is done indirectly via
breaking references. See the memory management page for more details.Điều quan trọng là phải xem xét các kịch bản sau:
Ghi chú trình duyệt chéoTheo đặc điểm kỹ thuậ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õ và ổn định trong các 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 tài sản, một số kết quả hành vi khó hiểu, ngăn chặn các trình duyệt khác sử dụng các đối tượng đơn giản như chữ cái theo nghĩa đen như các mảng liên kết được đặt hàng. Trong Explorer, trong khi giá trị thuộc tính thực sự được đặt thành 3, nếu sau đó thêm lại một thuộc tính có cùng tên, thuộc tính sẽ được lặp lại ở vị trí cũ của nó - không phải ở cuối chuỗi lặp như người ta có thể mong đợi sau khi xóa tài sản và sau đó thêm nó trở lại.Nếu bạn muốn sử dụng một mảng liên kết theo thứ tự với sự hỗ trợ của thời gian chạy cũ, hãy sử dụng đối tượng 4 nếu có (ví dụ: thông qua polyfill) hoặc mô phỏng cấu trúc này với hai mảng riêng biệt (một cho các phím và phần kia cho các giá trị) hoặc xây dựng một mảng các đối tượng tài sản đơn, v.v.Ví dụSử dụng xóaLưu ý: Ví dụ sau sử dụng các tính năng không nghiêm ngặt của chế độ, như tự nhiên tạo các biến toàn cầu và xóa các định danh, bị cấm ở chế độ nghiêm ngặt. The following example uses non-strict-mode only features, like implicitly creating global variables and deleting identifiers, which are forbidden in strict mode.
Xóa và chuỗi nguyên mẫuTrong ví dụ sau, chúng tôi xóa một 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:
Xóa các yếu tố mảngKhi bạn xóa một phần tử mảng, mảng 5 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ảng.Khi toán tử 1 loại bỏ một phần tử mảng, phần tử đó không còn nằm trong mảng. Trong ví dụ sau, 7 được xóa bằng 1.
Đ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ị 3 thay vì toán tử 1. Trong ví dụ sau, 7 được gán giá trị 3, nhưng phần tử mảng vẫn tồn tại:
Nếu thay vào đó, 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 3. Trong ví dụ sau, 7 bị xóa khỏi mảng hoàn toàn bằng cách sử dụng 3:
Xóa các thuộc tính không thể cấu hình đượcKhi một tài sản được đánh dấu là không thể cấu hình được, 1 sẽ không có bất kỳ ảnh hưởng nào và sẽ trả lại 6. Trong chế độ nghiêm ngặt, điều này sẽ tăng 7.
9 Tạo các thuộc tính không thể cấu hình được không thể xóa với toán tử 1:
Trong chế độ nghiêm ngặt, điều này sẽ tăng một ngoại lệ. Xóa tài sản toàn cầuNếu một thuộc tính toàn cầu có thể định cấu hình (ví dụ, thông qua gán tài sản trực tiếp), nó có thể bị xóa và các tài liệu tham khảo tiếp theo cho chúng vì các biến toàn cầu sẽ tạo ra 8. 0Thông số kỹ thuật
Tính tương thích của trình duyệt webBảng BCD chỉ tải trong trình duyệt Xem thêmLàm thế nào để bạn xóa một khóa khỏi đối tượng JS?Sử dụng Xóa để xóa các phím đối tượng Xóa từ khóa JavaScript đặc biệt được sử dụng để xóa các phím đố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 thiết lập một khóa đối tượng bằng với không xác định sẽ xóa nó, vì không xác định là giá trị mà các phím đối tượng chưa được đặt, khóa vẫn sẽ tồn tại.
The special JavaScript keyword delete is used to remove object keys (also called object properties). While you might think setting an object key equal to undefined would delete it, since undefined is the value that object keys that have not yet been set have, the key would still exist.
Làm cách nào để xóa một khóa cụ thểToán tử xóa được sử dụng để xóa cặp giá trị khóa trong đó khóa là Key Key2. Bảng điều khiển. log (obj); Đầu ra của mã trên trong bảng điều khiển sẽ là: {key1: "value1", key3: "value3"}. where the key is “key2”. console. log(obj); The output of the above code in the console will be: { key1: "value1", key3: "value3" }.
Làm cách nào để loại bỏ một khóa cụ thể khỏi một mảng các đối tượng?Để xóa một thuộc tính khỏi tất cả các đối tượng trong một mảng: sử dụng phương thức mảng.foreach () để lặp qua mảng. Mỗi lần lặp, hãy sử dụng toán tử xóa để xóa thuộc tính cụ thể.Thuộc tính sẽ được xóa khỏi tất cả các đối tượng trong mảng.Use the Array. forEach() method to iterate over the array. On each iteration, use the delete operator to delete the specific property. The property will get removed from all objects in the array.
Làm cách nào để loại bỏ một thuộc tính khỏi một đối tượng?Xóa thuộc tính khỏi một đối tượng, toán tử xóa xóa cả giá trị của thuộc tính và chính thuộc tính.Sau khi xóa, tài sản không thể được sử dụng trước khi được thêm lại.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 có tác dụng đối với các biến hoặc chức năng.The delete operator deletes both the value of the property and the property itself. After deletion, the property cannot be used before it is added back again. The delete operator is designed to be used on object properties. It has no effect on variables or functions. |