2012-02-20 39 views
10

Làm cách nào để định dạng mảng và đối tượng lồng nhau bằng cách sử dụng jsdoc?Câu hỏi về cách ghi lại dữ liệu mảng và đối tượng lồng nhau với jsDoc

Đây là đoán tốt nhất của tôi:

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); 

Làm thế nào để chỉ ra rằng một đối tượng được lập chỉ mục bởi một loại chuỗi?

Làm cách nào để xác định mảng lồng nhau?

Cũng không chắc chắn vị trí đặt dấu ngoặc vuông trong thông số tùy chọn.

Trả lời

1

Tôi khuyên bạn nên kiểm tra this. Tôi có lẽ muốn viết nó một cái gì đó như thế này:

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

Liên kết đã chết và ví dụ trên ném "Biểu thức loại không hợp lệ" với jsdoc 3.3 –

0

Bạn có thể thử làm việc đó như thế này: (theo quy định ở đây http://code.google.com/p/jsdoc-toolkit/wiki/TagParam)

/** 
* @param {String[]} obj.username.array 
*/ 

Đây là vụ khai báo obj.username.array như một mảng các chuỗi. Bạn đang sử dụng jsdoc hoặc jsdoc3?

+0

Tôi hiện đang sử dụng bộ công cụ jsdoc v3. Tôi không thể tìm ra cách đối phó với một cái gì đó như thế này {id: 'moo', các mục: [{url: '...', mô tả: 'moo2'}, ...]} – walialu

+0

Điều này không giúp ích gì , trường hợp là ghi lại các mảng của các đối tượng vô danh, không phải mảng các đối tượng thực –

Các vấn đề liên quan