我有一个如下所示的数组:
[{
"name": "c917379",
"email": "jim@bmw.de"
},
{
"name": "c917389",
"email": "jane@bmw.de"
}]
这是一个任意长度的数组,带有许多重复的字段(为了清晰起见,我将其缩减为两个字段)。这会传递给JavaScript方法。
/**
* @param {?} data
*/
update: function(data) {...}
我想知道你将如何在JSDoc中记录这一点。 IE浏览器。你会如何记录问号所在的类型?
答案 0 :(得分:21)
我刚刚找到了问题的答案:
看起来像这样:
/**
*
* @param {{name:string, email:string}[]}
*
*/
答案 1 :(得分:21)
在 JSDoc 中,给出了一个成员类型为MyClass
的数组的示例。它看起来像这样:
@param{Array.<MyClass>}
那么你也可以这样做:
@param{Array.<Object>}
然后这也是有道理的:
@param{Array.<{name:string, email:string}>}
答案 2 :(得分:8)
由于你的对象内容没有任何内在的“特殊”,我相信你只需将其声明为:
@param {Object[]} data
另一种方法是为你的“类”声明一个“正确”的构造函数,然后用该函数名替换Object
。
这种封装也可能有助于代码的其他部分; - )
答案 3 :(得分:1)
由于这是出现在Google上的第一个问题,我认为这对显示如何对二维数组进行记录很有用。
默认的sintax不起作用,它显示为“ JsDoc sinxtax error”:
/**
* @param {Object[][]} a two dimensional array of object
* */
发信号二维数组的正确方法是:
/**
* @param {Array.<Array.<Object>>} a two dimensional array of object
* */