JSDoc, документирование словаря с записями по умолчанию

Этот член fn возвращает массив позиций 0, если они есть, входного слова внутри объекта String

String.prototype.matching_positions = function( _word, _case_sensitive, _whole_words, _multiline )
{
   /*besides '_word' param, others are flags (0|1)*/
   var _match_pattern = "g"+(_case_sensitive?"i":"")+(_multiline?"m":"") ;
   var _bound = _whole_words ? "\\b" : "" ;
   var _re = new RegExp( _bound+_word+_bound, _match_pattern );
   var _pos = [], _chunk, _index = 0 ;

   while( true )
   {
      _chunk = _re.exec( this ) ;
      if ( _chunk == null ) break ;
      _pos.push( _chunk['index'] ) ;
      _re.lastIndex = _chunk['index']+1 ;
   }

   return _pos ;
}

Теперь попробуйте

var _sentence = "What do doers want ? What do doers need ?" ;
var _word = "do" ;
console.log( _sentence.matching_positions( _word, 1, 0, 0 ) );
console.log( _sentence.matching_positions( _word, 1, 1, 0 ) );

Вы можете также вводят регулярные выражения:

var _second = "z^2+2z-1" ;
console.log( _second.matching_positions( "[0-9]\z+", 0, 0, 0 ) );

Здесь получается индекс положения линейного члена.

0
задан gman 18 January 2019 в 02:40
поделиться

1 ответ

Вы можете использовать этот синтаксис для params

/**
 * @param {Object.<string, number>} foo
 */

Я не уверен, использовать ли он то же самое с @typedef, но думаю, этот тоже должен работать:

/**
 * @typedef {Object.<string, number>} Foo
 */

Тип документов http://usejsdoc.org/tags-type.html

0
ответ дан Lesha Ogonkov 18 January 2019 в 02:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: