首页 > JavaScript > 如何删除属性以最终出现以下内容?regexmyObject

如何删除属性以最终出现以下内容?regexmyObject

上一篇 下一篇

网友问题:
给定一个对象:

let myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI",
  "regex": "^http://.*"
};

如何删除属性以最终出现以下内容?regexmyObject

let myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI"
};

分割线

网友回答:

JavaScript 中的对象可以被认为是键和值之间的映射。运算符用于逐个删除这些键(通常称为对象属性)。delete

var obj = {
  myProperty: 1    
}
console.log(obj.hasOwnProperty('myProperty')) // true
delete obj.myProperty
console.log(obj.hasOwnProperty('myProperty')) // false

运算符不直接释放内存,它与简单地将 or 的值分配给属性的不同之处在于属性本身是从对象中删除的。请注意,如果已删除属性的值是引用类型(对象),并且程序的另一部分仍包含对该对象的引用,则在对该对象的所有引用都消失之前,当然不会对该对象进行垃圾回收。deletenullundefined

delete仅适用于其描述符将其标记为可配置的属性。

分割线

网友回答:

要从对象中删除属性(改变对象),您可以这样做:

delete myObject.regex;
// or,
delete myObject['regex'];
// or,
var prop = "regex";
delete myObject[prop];

演示

var myObject = {
    "ircEvent": "PRIVMSG",
    "method": "newURI",
    "regex": "^http://.*"
};
delete myObject.regex;

console.log(myObject);

对于任何有兴趣阅读更多相关信息的人,Stack Overflow用户kangax在他们的博客上写了一篇关于该声明的非常深入的博客文章,了解删除。强烈推荐。delete

如果你想要一个新对象,其中包含原始对象的所有键,除了一些键,你可以使用解构。

演示

let myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI",
  "regex": "^http://.*"
};

// assign the key regex to the variable _ indicating it will be unused
const {regex: _, ...newObj} = myObject;

console.log(newObj);   // has no 'regex' key
console.log(myObject); // remains unchanged

分割线

网友回答:

老问题,现代答案。使用 ECMAScript 6 的一个特性对象解构,它就像:

const { a, ...rest } = { a: 1, b: 2, c: 3 };

或者使用问题示例:

const myObject = {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
const { regex, ...newObject } = myObject;
console.log(newObject);

你可以在 Babel 试用编辑器中看到它的实际效果。


编辑:

要重新分配给同一变量,请使用 :let

let myObject = {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
({ regex, ...myObject } = myObject);
console.log(myObject);

模板简介:该模板名称为【如何删除属性以最终出现以下内容?regexmyObject】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 587次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-07
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
html5 自适应 微信公众平台 单页式简历模板 微信模板 微信图片 微信素材 响应式 微信文章 企业网站
您可能会喜欢的其他模板