【问题标题】:Dot notation vs. Bracket Notation点表示法与括号表示法
【发布时间】:2020-10-27 14:59:10
【问题描述】:

为什么点表示法不使用 javascript 删除键而括号表示法呢?

    function removeProperty(obj, key) {
      // your code here
    delete obj.key;
        
     }
    
    var obj = {
      name: 'Sam',
      age: 20
    }
    console.log(obj.name);
    removeProperty(obj, 'name');
    console.log(obj.name); // --> undefined

【问题讨论】:

    标签: object brackets


    【解决方案1】:

    这个问题坦率地说有点不清楚,但我会根据我的理解尝试回答它

    要从对象中删除一个键,我们可以这样做

      var obj = {
          name: 'Sam',
          age: 20
        }
    
    
    delete obj.name 
    
    console.log(obj) // won't have name

    现在在你的函数中,

       function removeProperty(obj, key) {
          // your code here
        delete obj.key;
            
         }
    

    您正试图从 obj 中删除不存在的属性 key。

    正确的方法应该是

       function removeProperty(obj, key) {
          // your code here
        delete obj[key]
      
         }
    

    因此,在您的代码 sn-p 的情况下,在函数内部删除的正确方法是

    function removeProperty(obj, key) {
          // your code here
        delete obj[key];
            
         }
        
        var obj = {
          name: 'Sam',
          age: 20
        }
        console.log(obj.name);
        removeProperty(obj, 'name');
        console.log(obj.name); // --> undefined

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-10
      • 2017-02-24
      相关资源
      最近更新 更多