回答

收藏

从对象中删除属性 (JavaScript)

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

假设我创建了以下对象:6 k8 f. p1 N0 e; V1 y! u
    let myObject = {  "ircEvent": &quotRIVMSG", "method": "newURI", "regex": "^http://.*",};
    " F' i) y# Z" @! i5 j' N
该如何删除属性?regex以结束新myObject的如下?
5 n. M' X1 }1 g$ `% B7 r
    let myObject = {  "ircEvent": &quotRIVMSG", "method": "newURI",};4 f) T- X' C1 `* r
               9 B9 y7 ]$ h5 S, H6 x
    解决方案:                                                                * n" a6 f. u! b) g
                                                                您可以从对象中删除属性(改变对象):- R% ^: G, k" H
    delete myObject.regex;// or,delete myObject['regex// or,var prop = "regex";delete myObject[prop];- s1 a$ S% M1 ~- L6 j
演示
9 E. r& \! t, \
    var myObject =    "ircEvent": &quotRIVMSG",   "method": "newURI",   "regex": "^http://.*"};delete myObject.regex;console.log(myObject);
    ; v4 U. x$ \# S+ R
假如你想要一个新对象,除了一些,所有的键都是原始的,你可以用destructuring。
& a+ M6 K5 w5 c* v2 d1 E演示: p9 I) c5 i" I8 w8 q
    let myObject = {  "ircEvent": &quotRIVMSG", "method": "newURI", "regex": "^http://.*"};const {regex,...newObj} = myObject;console.log(newObj);   // has no 'regex' keyconsole.log(myObject); // remains unchanged8 P: f0 c" P. p
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则