Bạn có một đối tượng với một số thuộc tính và bạn muốn loại bỏ một số thuộc tính này trước khi sử dụng thêm đối tượng
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
const json = JSON.stringify[person];
console.log[json];
// => {"firstName":"John","lastName":"Doe","gender":"Male","age":34}
// What can we do if we don't want the `age` property in the JSON string? -->
Ở đây, chuỗi JSON cũng chứa thuộc tính
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
5. Tuy nhiên, bạn sẽ gửi chuỗi qua mạng và máy chủ ở đầu bên kia sẽ không sử dụng thuộc tính let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
5. Vì vậy, bạn muốn xóa thuộc tính let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
5 khỏi đối tượng let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
8 trước khi chuyển đổi nó thành chuỗi JSONGiải pháp
Bạn có thể sử dụng toán tử
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9, đơn giản hơn hoặc hủy đối tượng, có thể xóa nhiều thuộc tính cùng một lúcSử dụng toán tử let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
Sử dụng toán tử
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9 để xóa thuộc tính khỏi đối tượng let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
Toán tử
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9 sẽ trả về nếu thành công và luôn trả về let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
1 - ngay cả khi thuộc tính không tồn tại. Cuộc gọi sẽ chỉ trả về let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
2 khi một thuộc tính không thể định cấu hình - đó là trường hợp đối với các thuộc tính trên các đối tượng tích hợp như let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
3 của một let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
4Sử dụng phá hủy đối tượng
Toán tử
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9 chỉ có thể xóa một thuộc tính cho mỗi cuộc gọi. Vì vậy, nếu bạn muốn xóa các thuộc tính let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
5 và let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
7, thì bạn phải thực hiện hai cuộc gọi let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9. Thay vào đó, bạn có thể sử dụng tính năng hủy đối tượng để xóa nhiều thuộc tính bằng một lệnh gọi const person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Destructure the age and gender
const {age, gender, ...personTrimmed} = person;
const json = JSON.stringify[personTrimmed];
console.log[json];
Lưu ý rằng quá trình hủy chậm hơn đáng kể so với toán tử
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
9 vì nó tạo một đối tượng mới sao chép từ đối tượng ban đầu. Hủy cấu trúc cũng không được hỗ trợ bởi bất kỳ phiên bản IE nào Trong hướng dẫn này, chúng ta sẽ xem xét một số phương pháp để xóa thuộc tính khỏi đối tượng JavaScript. Và so sánh chúng để hiểu cái nào phù hợp trong một ngữ cảnh nhất định
Hãy tiến về phía trước để thảo luận về điều này
Sử dụng toán tử xóa
Ở đây, toán tử xóa sẽ xóa các phím khỏi đối tượng, mỗi lần một phím. Toán tử xóa không xóa bộ nhớ trực tiếp
Từ khóa xóa chỉ hoạt động trên các đối tượng. Chúng tôi không thể sử dụng nó trên các biến hoặc chức năng. Chúng ta không nên sử dụng từ khóa xóa trên các thuộc tính đối tượng JavaScript được xác định trước vì nó có thể gây ra lỗi. Thuộc tính đã xóa hiển thị không xác định nếu chúng tôi cố gắng truy cập nó
Thao tác xóa có thể thay đổi được vì nó sửa đổi đối tượng thực tế. Nhưng đây là cách đúng để xóa thuộc tính khỏi một đối tượng
Người dùng có thể làm theo cú pháp dưới đây để sử dụng phương pháp này
cú pháp
________số 8Đầu tiên được sử dụng khi tài sản được biết đến. Tiếp theo là khi thuộc tính là giá trị thời gian chạy
Tính chất
đối tượng - Tên của một đối tượng
thuộc tính - Tên của thuộc tính cần xóa
Ví dụ
Trong chương trình này, chúng ta có một đối tượng JavaScript tên là employee. Chúng tôi đang xóa thuộc tính tuổi khỏi đối tượng này bằng cách sử dụng từ khóa xóa
Remove a property from a JavaScript object using the delete keyword
Bằng cách đặt Giá trị thuộc tính thành "không xác định"
Chúng tôi có thể sử dụng tùy chọn này khi chúng tôi ở trong tình huống chúng tôi đang sử dụng một số lượng lớn các vòng lặp. Chúng tôi đang làm cho quy trình xóa trở nên tối ưu bằng cách đặt giá trị thuộc tính thành 'không xác định'. Thao tác xóa chậm hơn 50 lần so với thao tác gán đơn giản với 'không xác định'
Trong thực tế, tài sản không bị xóa. Nó vừa được dọn sạch
cú pháp
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
0Ở đây, chúng tôi đang gán undefined cho thuộc tính của đối tượng
Ví dụ
Trong chương trình này, tên đối tượng của chúng ta là màu. Sử dụng cú pháp gán ở trên, chúng ta loại bỏ thuộc tính place khỏi đối tượng màu
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
1Sử dụng hủy cấu trúc đối tượng
Đây là ý tưởng dễ dàng. Chúng ta nên hủy cấu trúc đối tượng thành thuộc tính mà chúng ta muốn xóa. Sau đó lưu các thuộc tính còn lại trong một đối tượng khác
Phá hủy đối tượng là quá trình trích xuất dữ liệu từ các đối tượng sang các biến mới. Phá hủy đối tượng là một phương pháp bất biến vì nó không thay đổi đối tượng thực tế, thay vào đó tạo ra một đối tượng khác để lấy các thuộc tính cần thiết ngoại trừ thuộc tính cần loại bỏ
Ưu điểm chính là phương pháp này loại bỏ nhiều thuộc tính cùng một lúc
cú pháp
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
2Ở đây, cú pháp đầu tiên được sử dụng khi chúng ta biết tên thuộc tính. Cú pháp thứ hai được sử dụng khi tên thuộc tính thay đổi động
Thông số
prop − Thuộc tính mà chúng ta cần xóa
stayObj − Đối tượng sau khi xóa thuộc tính cụ thể
obj − Đối tượng chính
tên - Một biến để sử dụng tên thuộc tính trong thời gian chạy
removeProperty − Một từ khóa tích hợp trong cú pháp
Ví dụ
Trong ví dụ này, chúng ta có đối tượng người. Chúng tôi đang xóa vị trí và các thuộc tính bằng cách sử dụng toán tử trải rộng
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
3Sử dụng phương thức reduce[]
Ở đây, hàm reduce[] là một hàm mảng tích hợp. Đầu vào của hàm này là một tập hợp và hàm rút gọn là một đối số
Phương thức lặp qua tất cả các phần tử và sửa đổi bộ tích lũy, hoạt động như một đối tượng mới
cú pháp
let person = {
firstName: "John",
lastName: "Doe",
gender: "Male",
age: 34
};
// Delete the age property first
delete person.age;
let json = JSON.stringify[person];
console.log[json];
4Ở đây, logic chức năng bộ giảm tốc bộ tích lũy được sử dụng để loại bỏ thuộc tính
Tính chất
factObj − Đối tượng JSON
bộ tích lũy - Nếu khóa nhỏ hơn giá trị bộ tích lũy, giá trị khóa sẽ trở thành bộ tích lũy tiếp theo
key − Giá trị hiện tại = Key
Ví dụ
Trong ví dụ này, đối tượng của chúng tôi là vật nuôi. Chúng ta sẽ loại bỏ thuộc tính gift một mình khỏi đối tượng này. Bộ tích lũy phương thức rút gọn và so sánh giá trị khóa diễn ra trong mọi vòng lặp. Cuối cùng, chúng ta có được đối tượng không có thuộc tính gift
Hướng dẫn này đã giúp chúng tôi tìm hiểu cách xóa thuộc tính của đối tượng JavaScript
Phương pháp xóa rất đơn giản. Gán không xác định cho giá trị thuộc tính là một cách tiếp cận tồi tệ hơn. Cú pháp phá hủy là một cách tiếp cận tốt vì nó không sửa đổi đối tượng thực tế
Phương pháp cuối cùng là hàm rút gọn, đây là một lựa chọn tốt. Người dùng có thể chọn bất kỳ phương pháp nào theo yêu cầu