Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于用jsDoc记录嵌套数组和对象数据的问题_Javascript_Jsdoc - Fatal编程技术网

Javascript 关于用jsDoc记录嵌套数组和对象数据的问题

Javascript 关于用jsDoc记录嵌套数组和对象数据的问题,javascript,jsdoc,Javascript,Jsdoc,如何使用jsdoc格式化嵌套数组和对象 这是我最好的猜测: an_obj = { username1 : [ { param1 : "value 1-1-1", param2 : "value 1-1-2", optional_nested : "1-1--2" }, { para

如何使用jsdoc格式化嵌套数组和对象

这是我最好的猜测:

an_obj = { 
        username1 : [
            {
                param1 : "value 1-1-1",
                param2 : "value 1-1-2",
                optional_nested : "1-1--2"
            },
            {
                param1 : "value 1-2-1",
                param2 : "value 1-2-2"
            },
        ],
        username2 : [
            {
                param1 : "value 2-1-1",
                param2 : "value 2-1-2"
            },
            {
                param1 : "value 2-2-1",
                param2 : "value 2-2-2",
                optional_nested : "2-2--2"              

            }
        ]
    }
}


/**
 * A function description.
 * @param {Object} obj
 * @param {Object} obj.username  This is not the object name, but a name type. 
 * @param {Array}  obj.username.array Desc...  using [] would conflict with optional params.
 *                                    However this could be confused with an object called array.
 * @param {String} obj.username.array.param1 Desc... This is the object name rather than a type.
 * @param {String} obj.username.array.param2 Desc... 
 * @param {String} obj.username.array.[optional_param] Desc... 
 */
var myFunc = function(obj){
    //...
};
myFunc(an_obj);
我如何指示一个对象被一种字符串索引

如何定义嵌套数组

也不确定在可选参数中的方括号放在哪里。

我建议签出。我可能会这样写:

//{Object{username:<Array<Object{param1:String, param2:String,[optional_nest]:string}>>}}
/{Object{username:}

您可以尝试这样做:(如此处所述)

这应该声明
obj.username.array
为字符串数组。
您使用的是jsdoc还是jsdoc3?

我目前使用的是jsdoc toolkit v3。我不知道如何处理像这样的事情{id:'moo',items:[{url:'…',description:'moo2'},…]}这没有帮助,这个例子是记录匿名对象的数组,而不是真实对象的数组。link死了,上面的例子用jsdoc 3.3抛出了“无效类型表达式”
/**
* @param {String[]} obj.username.array
*/