This commit is contained in:
PASSER-BY 2022-10-12 01:30:12 +08:00
commit 67064d2aa4
5 changed files with 18 additions and 16 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

@ -198,9 +198,9 @@ export default {
'm,m,f':['外曾外祖父','外曾外祖','曾毑父','外太外公','外太外爷','外太外翁','外太外爷爷','外太姥爷'], 'm,m,f':['外曾外祖父','外曾外祖','曾毑父','外太外公','外太外爷','外太外翁','外太外爷爷','外太姥爷'],
'm,m,m':['外曾外祖母','曾毑母','外太外婆','外太外奶','外太外嬷','外太外姆','外太外奶奶','外太姥姥'], 'm,m,m':['外曾外祖母','曾毑母','外太外婆','外太外奶','外太外嬷','外太外姆','外太外奶奶','外太姥姥'],
// 祖父辈 // 祖父辈
'f,f':['爷爷','祖父','奶爷','阿爷','阿公','依爷','嗲嗲','爷儿','大父','爷','爷老','爷老子','爷老倌','二世祖'], 'f,f':['爷爷','祖父','奶爷','奶爹','阿爷','阿公','依爷','嗲嗲','爷儿','大父','爷','爷老','爷老子','爷老倌','二世祖'],
'f,m':['奶奶','祖母','阿奶','阿姆','阿婆','依奶','阿嬷','阿嫲','大母','奶','嫲嫲','婻婻','娭毑','嗯奶','娘姆','媪婆','亲婆'], 'f,m':['奶奶','祖母','阿奶','奶娘','阿姆','阿婆','依奶','阿嬷','阿嫲','大母','奶','嫲嫲','婻婻','娭毑','嗯奶','娘姆','媪婆','亲婆'],
'm,f':['外公','外祖父','姥爷','阿公','外爷','客公','毑父','毑公','姥公','舅家爷','嘎公','嘎嘎爹','尕公','毑爹','外大父','毑爷'], 'm,f':['外公','外祖父','姥爷','阿公','外爷','客公','毑父','毑公','姥公','舅家爷','嘎公','嘎嘎爹','尕公','毑爹','外大父','姥爹','毑爷'],
'm,m':['外婆','外祖母','姥姥','阿婆','外奶','客婆','毑母','毑婆','姥婆','舅家婆','嘎嘎','嘎嘎婆','尕婆','毑毑','外大母','姥娘','阿嬷','阿嫲','嫲嫲','好婆','嫏嫏','嫏娘'], 'm,m':['外婆','外祖母','姥姥','阿婆','外奶','客婆','毑母','毑婆','姥婆','舅家婆','嘎嘎','嘎嘎婆','尕婆','毑毑','外大母','姥娘','阿嬷','阿嫲','嫲嫲','好婆','嫏嫏','嫏娘'],
'f,f,ob':['伯公','伯祖','伯翁','大爷爷','大嗲','大爷','大公','大阿爷'], 'f,f,ob':['伯公','伯祖','伯翁','大爷爷','大嗲','大爷','大公','大阿爷'],
'f,f,ob,w':['伯婆','姆婆','大奶奶'], 'f,f,ob,w':['伯婆','姆婆','大奶奶'],

View File

@ -190,6 +190,7 @@ export function getSelectors(str){
var items = []; //当前匹配词可能性 var items = []; //当前匹配词可能性
var x_items = []; var x_items = [];
var r_items = []; var r_items = [];
var i_items = [];
var keywords = [name]; var keywords = [name];
var getList = function(name){ var getList = function(name){
for(var filter in replaceFilter){ for(var filter in replaceFilter){
@ -229,16 +230,14 @@ export function getSelectors(str){
if(!i.match(/^[mf,]+$/)&&!r_name.match(/^[从世]/)){ // 直系祖辈不参与排序 if(!i.match(/^[mf,]+$/)&&!r_name.match(/^[从世]/)){ // 直系祖辈不参与排序
r_items.push(r_i); r_items.push(r_i);
} }
} }else if(_data[i].includes(name)){
if(_data[i].includes(name)){ i_items.push(r_i);
items.push(r_i);
} }
} }
}else{ }
for(var i in _data){ for(var i in _data){
if(_data[i].includes(name)){ if(_data[i].includes(name)){
items.push(i); items.push(i);
}
} }
} }
}); });
@ -250,6 +249,9 @@ export function getSelectors(str){
if(!items.length){ if(!items.length){
items = r_items; items = r_items;
} }
if(!items.length){
items = i_items;
}
// 完全匹配不到结果 // 完全匹配不到结果
if(!items.length){ if(!items.length){
isMatch = false; isMatch = false;

View File

@ -36,7 +36,7 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'舅妈',target:'二舅',type:'pair'}),['叔嫂','夫妻']); t.deepEqual(relationship({text:'舅妈',target:'二舅',type:'pair'}),['叔嫂','夫妻']);
t.deepEqual(relationship({text:'二舅妈',target:'三舅'}),['二嫂']); t.deepEqual(relationship({text:'二舅妈',target:'三舅'}),['二嫂']);
t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']); t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']);
t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['伯']); t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['']);
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']); t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']);
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true}),['父子']); t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true}),['父子']);
t.end(); t.end();