This commit is contained in:
PASSER-BY
2022-10-12 01:30:12 +08:00
5 changed files with 18 additions and 16 deletions
+2 -2
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -198,9 +198,9 @@ export default {
'm,m,f':['外曾外祖父','外曾外祖','曾毑父','外太外公','外太外爷','外太外翁','外太外爷爷','外太姥爷'],
'm,m,m':['外曾外祖母','曾毑母','外太外婆','外太外奶','外太外嬷','外太外姆','外太外奶奶','外太姥姥'],
// 祖父辈
'f,f':['爷爷','祖父','奶爷','阿爷','阿公','依爷','嗲嗲','爷儿','大父','爷','爷老','爷老子','爷老倌','二世祖'],
'f,m':['奶奶','祖母','阿奶','阿姆','阿婆','依奶','阿嬷','阿嫲','大母','奶','嫲嫲','婻婻','娭毑','嗯奶','娘姆','媪婆','亲婆'],
'm,f':['外公','外祖父','姥爷','阿公','外爷','客公','毑父','毑公','姥公','舅家爷','嘎公','嘎嘎爹','尕公','毑爹','外大父','毑爷'],
'f,f':['爷爷','祖父','奶爷','奶爹','阿爷','阿公','依爷','嗲嗲','爷儿','大父','爷','爷老','爷老子','爷老倌','二世祖'],
'f,m':['奶奶','祖母','阿奶','奶娘','阿姆','阿婆','依奶','阿嬷','阿嫲','大母','奶','嫲嫲','婻婻','娭毑','嗯奶','娘姆','媪婆','亲婆'],
'm,f':['外公','外祖父','姥爷','阿公','外爷','客公','毑父','毑公','姥公','舅家爷','嘎公','嘎嘎爹','尕公','毑爹','外大父','姥爹','毑爷'],
'm,m':['外婆','外祖母','姥姥','阿婆','外奶','客婆','毑母','毑婆','姥婆','舅家婆','嘎嘎','嘎嘎婆','尕婆','毑毑','外大母','姥娘','阿嬷','阿嫲','嫲嫲','好婆','嫏嫏','嫏娘'],
'f,f,ob':['伯公','伯祖','伯翁','大爷爷','大嗲','大爷','大公','大阿爷'],
'f,f,ob,w':['伯婆','姆婆','大奶奶'],
+7 -5
View File
@@ -190,6 +190,7 @@ export function getSelectors(str){
var items = []; //当前匹配词可能性
var x_items = [];
var r_items = [];
var i_items = [];
var keywords = [name];
var getList = function(name){
for(var filter in replaceFilter){
@@ -229,18 +230,16 @@ export function getSelectors(str){
if(!i.match(/^[mf,]+$/)&&!r_name.match(/^[从世]/)){ // 直系祖辈不参与排序
r_items.push(r_i);
}
}
if(_data[i].includes(name)){
items.push(r_i);
}else if(_data[i].includes(name)){
i_items.push(r_i);
}
}
}
}else{
for(var i in _data){
if(_data[i].includes(name)){
items.push(i);
}
}
}
});
// console.log('[keywords]',keywords);
// 如找不到结果,再是否存在称呼的排行问题(不直接判断,因存在"大舅""三从父兄""三世祖"这样特俗含义的情况)
@@ -250,6 +249,9 @@ export function getSelectors(str){
if(!items.length){
items = r_items;
}
if(!items.length){
items = i_items;
}
// 完全匹配不到结果
if(!items.length){
isMatch = false;
+1 -1
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:'三舅'}),['二嫂']);
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',optimal:true}),['父子']);
t.end();