回答

收藏

从对象中删除属性 (JavaScript)

技术问答 技术问答 261 人阅读 | 0 人回复 | 2023-09-12

假设我创建了以下对象:. z0 @$ w4 m' w, \1 u. S5 ^
    let myObject = {  "ircEvent": &quotRIVMSG", "method": "newURI", "regex": "^http://.*",};
    4 p5 H5 i; w- |3 S# f3 k7 t5 y4 I, L
该如何删除属性?regex以结束新myObject的如下?
8 d+ s3 J* c: Y/ @; G
    let myObject = {  "ircEvent": &quotRIVMSG", "method": "newURI",};* o7 `& H5 l  r) l( c. m
               
. R. y0 `7 J& m+ t+ x. P. \* I2 K    解决方案:                                                                ' `+ J6 t9 C( a
                                                                您可以从对象中删除属性(改变对象):
8 ^( W2 b6 E4 a% Y: t1 i
    delete myObject.regex;// or,delete myObject['regex// or,var prop = "regex";delete myObject[prop];
    1 K9 M- z3 X9 l/ [. N% c( h
演示
% {4 b' j: ?) p; D
    var myObject =    "ircEvent": &quotRIVMSG",   "method": "newURI",   "regex": "^http://.*"};delete myObject.regex;console.log(myObject);" d5 b5 J- F3 k2 v
假如你想要一个新对象,除了一些,所有的键都是原始的,你可以用destructuring。
) p' |5 P& V( D2 N, @2 I4 u演示
, W  s) b3 {- C9 ?8 K
    let myObject = {  "ircEvent": &quotRIVMSG", "method": "newURI", "regex": "^http://.*"};const {regex,...newObj} = myObject;console.log(newObj);   // has no 'regex' keyconsole.log(myObject); // remains unchanged. Z# f/ I: W) `5 A, I
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则