實務上較少刪除 Object 的 Property,但若真的想刪除 Property,ECMAScript 提供了兩種方法。
Version
Ramda 0.27.1
delete
let data = {
title: 'FP in JavaScript', price: 100
}
delete data.price
data // ?
data
包含 title
與 price
兩個 property,想刪除 price
property。
delete
可直接刪除 property,但會直接影響原本 Object。
Spread Operator
let data = {
title: 'FP in JavaScript', price: 100
}
let { price, ...data_ } = data
data_ // ?
若想刪除 property 但又不影響原本 Object,可借用 ...
spread operator 先列出要刪除的 property,剩下部分即為刪除後 Object。
Conclusion
- 若想以更優雅的方式刪除 property 且不影響原本 Object,亦可使用 Ramda 的
omit