Gender-rus
Determine the gender, based on Russian name, surname, or patronymic.
usage
; ;// => 'male'; ;// => 'female'; ;// => 'undefined';
The only argument for determinedGender
is an object with three optional properties: name, surname, and patronymic. Letter case does not matter.
Return value can be 'male'
, 'female'
or 'undefined'
.
under the hood
The algorithm for determining gender is pretty straightforward.
First, we determine the gender of name, surname, and patronymic separately.
If all parts cannot be determined, result is 'undefined'
:
detectGender;// => 'undefined'; detectGender;// ^ ^// undefined undefined//// => 'undefined';
If some are 'female'
and some parts are 'male'
, result is 'undefined'
too:
detectGender;// ^ ^ ^// undefined male female//// => 'undefined'; detectGender;// ^ ^// male female//// => 'undefined';
If all parts are 'male'
or 'undefined'
, result is 'male'
:
detectGender;// ^// male//// => 'male'; detectGender;// ^ ^// undefined male//// => 'male';
Similarly for 'female'
:
detectGender;// ^ ^ ^// undefined undefined female//// => 'female';