【问题标题】:Describe object property of variable描述变量的对象属性
【发布时间】:2017-03-08 20:33:08
【问题描述】:

我有这样的代码:

var availableCondition = {
    property1: {
        condition: true,
        value: 'value1'
    },
    property2: {
        condition: false,
        value: 'value2'
    },
}
var obj = {}
for (var key in availableCondition) {
    var potentialProperty = availableCondition[key];
    if (potentialProperty ['condition']){
         obj[key] = potentialProperty['value']
    }
}

如何描述 var obj 具有 IDE 代码实现的能力,比如 in case

var obj = {
     property1: 'value1',
     property2: 'value2',
}

当我开始输入时

obj.

IDE 以第二种方式完成属性,但不是第一种。

如何在 jsDoc 中描述对象来完成?

【问题讨论】:

    标签: javascript webstorm jsdoc


    【解决方案1】:

    我相信这就是您正在寻找的答案。

    var availableCondition = {
      property1: {
        condition: true,
        value: 'value1'
      },
      property2: {
        condition: false,
        value: 'value2'
      }
    }
    
    function createObj(obj) {
      var result = {};
      for (var key in obj) {
        result[key] = obj[key].value;
      }  
      return result;
    }
    console.log(createObj(availableCondition));
    

    【讨论】:

    • 一点也不。 Jetbrain IDE 可以自动完成对象变量属性。但是没有 jsDoc 它只适用于静态对象。答案中的函数允许我将我的对象复制到具有所选属性的简化中。但我需要使用 IDE 自动完成任何类型的对象。我想找到一种方法来更正描述对象以启用此功能。
    【解决方案2】:

    我找到了解决办法

    var availableCondition = {
        property1: {
            condition: true,
            value: 'value1'
        },
        property2: {
            condition: false,
            value: 'value2'
        },
    };
    /**
     *
     * @type {object}
     * @property {string} property1
     * @property {string} property2
     */
    var myObj = {};
    for (var key in availableCondition) {
        var potentialProperty = availableCondition[key];
        if (potentialProperty ['condition']){
            myObj[key] = potentialProperty['value']
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2017-08-08
      • 2021-03-09
      • 2019-01-26
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多