QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

查看: 2595|回复: 0

[HTML/CSS/JS] 如何从JavaScript对象中删除属性

[复制链接]

等级头衔

积分成就    金币 : 2861
   泡泡 : 1516
   精华 : 6
   在线时间 : 1322 小时
   最后登录 : 2026-1-12

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老活跃会员

联系方式
发表于 2021-3-31 10:50:00 | 显示全部楼层 |阅读模式
       在使用 JavaScript 中的对象时,你可能会遇到需要从对象中完全删除属性的情况。为实现这一点可以有好几个选择:
3 L! W0 `# L5 _2 q; j$ f7 P0 G一、将属性设置为 undefined
) k) `/ X1 ~$ R, X  f0 ]; K! Y       将属性设置为 undefined 不是最好的方法,因为属性本身仍将存在于对象中。它还会改变原始对象,这可能是你所不希望的。
0 F) U2 W9 `5 F3 m- X2 o! @
const pet = {
  species: 'dog',
  age: 3,
  name: 'celeste',
  gender: 'female'
};

pet.gender = undefined;
Object.keys(pet); // ['species', 'age', 'name', 'gender']
二、使用 delete 操作符# n) p. M. t+ z: z" e- |6 e
       从技术上讲用 delete 操作符是从 JavaScript 对象中删除属性的正确方法。与上一个方法不同,delete 将完全从对象中删除属性,但它仍然会导致原始对象的发生改变。
: K% D6 {5 d& g4 G( U5 _" a
const pet = {
  species: 'dog',
  age: 3,
  name: 'celeste',
  gender: 'female'
};

delete pet.gender;
Object.keys(pet); // ['species', 'age', 'name']
三、使用对象解构
: J2 h- b( A1 M5 M       通过用展开运算符(...)可以将需要省略特定属性的对象解构到新对象。这个技巧在需要删除多个属性时特别有用,并且不会更改原始对象。1 j+ X# E- H$ ^, ?1 n0 x
const pet = {
  species: 'dog',
  age: 3,
  name: 'celeste',
  gender: 'female'
};

const { gender, ...newPet } = pet;
Object.keys(pet); // ['species', 'age', 'name', 'gender]
Object.keys(newPet); // ['species', 'age', 'name']
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2026-1-14 02:01

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表