updated bug修复及写法优化

This commit is contained in:
PASSER-BY 2022-03-28 23:48:44 +08:00
parent 11164cb2e5
commit 4a8d180c1f
3 changed files with 18 additions and 26 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -466,7 +466,7 @@
'h,f':['公公','公父','家公','家官','翁亲','大官','老公公','老人公','公爹','老公爹','婆父','婆爹'],
'h,m':['婆婆','婆母','家婆','家娘','姑亲','大家','老婆婆','老人婆','婆妈','婆母娘','婆子妈'],
'h,f,ob':['伯公父','伯公','伯翁'],
'h,f,ob,w':['伯婆母','伯婆','伯姆'],
'h,f,ob,w':['伯婆母','伯婆','姆婆','伯姆'],
'h,f,lb':['叔公父','叔公','叔翁','叔祖'],
'h,f,lb,w':['叔婆母','叔婆','婶婆','婶婆婆','婶亲'],
'h,m,xb':['舅公父','舅公',],
@ -509,7 +509,7 @@
'w,m,m':['外祖岳母','外祖丈母娘','外祖丈母','外太岳母','姥岳母','姥丈姥','姥丈母','姥丈母娘'],
'w,f':['岳父','岳丈','岳老子','老干爷','老丈人','丈母爷','老丈杆子','丈人爹','丈爷爹','岳翁','丈人','丈父','丈爷','外父','妻父','泰山','外舅','老亲爷'],
'w,m':['岳母','丈母娘','丈姥娘','岳母娘','老干娘','老丈母','丈人娘','丈母','丈姥','外母','泰水','外姑','老亲娘'],
'w':['老婆','妻子','太太','媳妇儿','媳妇','夫人','女人','婆娘','妻','内人','内子','娘子','爱妻','老太婆','老婆子','堂客','爱人','老伴','那口子','配偶','伴侣','卿卿'],
'w':['老婆','妻子','太太','媳妇儿','媳妇','夫人','女人','婆娘','妻','内人','内子','娘子','爱妻','老太婆','老婆子','老婆仔','堂客','爱人','老伴','那口子','配偶','伴侣','卿卿'],
'w,ob':['大舅子','大舅兄','舅兄'],
'w,ob,w':['大舅妇','大舅姆','大舅兄嫂','舅嫂','大舅嫂','大舅姐','大舅媳妇','大妗子'],
'w,lb':['小舅子','小舅弟','舅弟'],
@ -1042,7 +1042,7 @@
'{G0},s,s,d,s':['玄外孙','玄外孙男'],
'{G0},s,s,d,d':['玄外孙女'],
'{G0},s,d':['孙女'],
'{G0},s,d,w':['孙婿'],
'{G0},s,d,h':['孙婿'],
'{G0},s,d,s':['曾外孙','曾外孙男'],
'{G0},s,d,s,w':['曾外孙妇'],
'{G0},s,d,s,s':['曾外曾孙','曾外曾孙男'],
@ -1063,7 +1063,7 @@
'{G0},d,s,d,s':['外玄外孙','外玄外孙男'],
'{G0},d,s,d,d':['外玄外孙女'],
'{G0},d,d':['外孙女'],
'{G0},d,d,w':['外孙婿'],
'{G0},d,d,h':['外孙婿'],
'{G0},d,d,s':['外曾外孙','外曾外孙男'],
'{G0},d,d,s,w':['外曾外孙妇'],
'{G0},d,d,s,s':['外曾外曾孙','外曾外曾孙男'],
@ -1343,10 +1343,8 @@
'^玄([侄甥])':['$1玄'],
'^外表([伯叔姑舅姨])':['姑表$1外','舅表$1外'],
'^外甥':['甥'],
'([孙甥侄])$':['$1男','$1女'],
'祖$':['祖父','祖母'],
'孙$':['孙男','孙女'],
'甥$':['甥男','甥女'],
'侄$':['侄男','侄女'],
'外甥$':['甥'],
'嫂$':['兄妇'],
};
@ -1429,9 +1427,9 @@
var hash = {};
//性别判断
if(sex<0){
if(selector.match(/^,w/)){
if(selector.match(/^,[w1]/)){
sex = 1;
}else if(selector.match(/^,h/)){
}else if(selector.match(/^,[h0]/)){
sex = 0;
}
}else if(sex==1&&selector.match(/^,[h0]/)){
@ -1557,7 +1555,7 @@
var result = [];
var doing = function(sex){
var sid = (','+sex+','+id).replace(/,[fhs]|,[olx]b/g,',1').replace(/,[mwd]|,[olx]s/g,',0');
sid = sid.substring(0,sid.lastIndexOf(','));
sid = sid.substring(0,sid.length-2);
var id_arr = id.split(',').reverse();
var sid_arr = sid.split(',').reverse();
var arr = id_arr.map((id,i)=>hash[id][sid_arr[i]]);
@ -1620,7 +1618,6 @@
var sex = my_sex;
var from_ids = selector2id(from,my_sex);
var to_ids = selector2id(to,my_sex);
var from_rids = [];
var to_rids = [];
if(!from_ids.length||!to_ids.length){
return false;
@ -1727,15 +1724,13 @@
target:'',
sex:-1,
type:'default', // 'chain'表示关系链
reverse:false, // true表示反向
mode:'default', // 用户自定义模式
reverse:false, // true表示反向
mode:'default', // 用户自定义模式
},parameter);
_data = Object.assign({},_map);
for(var lang in _mode){
if(options.mode==lang){
for(var key in _mode[lang]){
_data[key] = [].concat(_mode[lang][key],_map[key]||[]);
}
if(_mode[options.mode]){
for(var key in _mode[options.mode]){
_data[key] = [].concat(_mode[options.mode][key],_map[key]||[]);
}
}
var from_selectors = getSelectors(options.text);
@ -1754,10 +1749,10 @@
if(ids){
ids.forEach(function(id){
var temps = [id];
if(options.reverse){
temps = reverseId(id,data['sex']);
}
if(options.type=='chain'){
if(options.reverse){
temps = reverseId(id,data['sex']);
}
temps.forEach(function(id){
var item = getChainById(id);
if(item){
@ -1765,9 +1760,6 @@
}
});
}else{
if(options.reverse){
temps = reverseId(id,data['sex']);
}
temps.forEach(function(id){
var items = getDataById(id);
if(!items.length){