updated 搜索内侄时,数据重复问题

This commit is contained in:
PASSER-BY 2023-02-22 23:07:09 +08:00
parent 903bc6a58a
commit 925a01ff81
6 changed files with 18 additions and 13 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

@ -49,8 +49,8 @@ export default {
// 祖父辈
'f,f':['爷爷','祖父','奶爷','奶爹','阿爷','阿公','依爷','嗲嗲','爷儿','大父','爷','爷老','爷老子','爷老倌','二世祖'],
'f,m':['奶奶','祖母','阿奶','奶娘','阿姆','阿婆','依奶','阿嬷','阿嫲','大母','奶','嫲嫲','婻婻','娭毑','嗯奶','娘姆','媪婆','亲婆'],
'm,f':['外公','外祖父','姥爷','阿公','外爷','客公','毑父','毑公','姥公','舅家爷','嘎公','嘎嘎爹','尕公','毑爹','毑爷','外大父','姥爹'],
'm,m':['外婆','外祖母','姥姥','阿婆','外奶','客婆','毑母','毑婆','姥婆','舅家婆','嘎嘎','嘎嘎婆','尕婆','毑娘','毑毑','外大母','姥娘','阿嬷','阿嫲','外嬷','嫲嫲','好婆','嫏嫏','嫏娘'],
'm,f':['外公','外祖父','姥爷','阿公','外爷','客公','毑父','毑公','姥公','舅家爷','嘎公','嘎爹',,'嘎嘎爹','嘎爷爷','尕公','毑爹','毑爷','外大父','姥爹'],
'm,m':['外婆','外祖母','姥姥','阿婆','外奶','客婆','毑母','毑婆','姥婆','舅家婆','嘎嘎','嘎婆','嘎嘎婆','嘎奶奶','尕婆','毑娘','毑毑','外大母','姥娘','阿嬷','阿嫲','外嬷','嫲嫲','好婆','嫏嫏','嫏娘'],
'f,f,ob':['伯公','伯祖','伯翁','大爷爷','大嗲','大爷','大公','大阿爷'],
'f,f,ob,w':['伯婆','姆婆','大奶奶'],
'f,f,lb':['叔公','叔祖','叔翁','小爷爷','晚公','幺爷','细嗲'],
@ -206,7 +206,7 @@ export default {
'h,lb,w':['小婶子','小婶儿','小叔弟妇','叔弟妇','叔嫂','叔妇','叔姆','娣妇','娣姆','小叔妇','婶婶','小婶','小婶婶'],
'h,[ob|lb]':['伯叔'],
'h,xb,w':['妯娌','娣姒','娣姒姊妹','婶子'],
'h,xb,s':['叔侄'],
'h,xb,s':['叔侄'],
'h,xb,d':['叔侄女'],
'h,os':['大姑子','大姑姐','大姑儿','大姑娘','姑姊','婆姐','婆婆姐','大娘姑'],
'h,os,h':['大姑夫','大姑姐夫','大亘子','婆姐夫','婆婆姐夫'],
@ -246,7 +246,7 @@ export default {
'w,lb,w':['小舅妇','小舅姆','小舅弟妇','小舅嫂','舅弟媳','小舅妹','小舅媳妇','小妗子','小妗儿'],
'w,xb':['舅子','舅佬','妻舅','老婆舅','阿舅','亲家舅','舅老倌'],
'w,xb,w':['舅嫂','舅妇','舅姆','妻妗','妗仔','妗子','妗儿'],
'w,xb,s':['舅侄'],
'w,xb,s':['舅侄'],
'w,xb,d':['舅侄女'],
'w,os':['大姨子','大姨姐','大姨儿','姨姐'],
'w,os,h':['大姨夫','大姨姐夫','襟兄','大尹子'],
@ -259,11 +259,11 @@ export default {
// 兄弟姐妹系
'ob':['哥哥','哥','胞兄','亲哥','老哥','依哥','阿哥','家兄','兄长','大佬','元兄','长兄','几哥'],
'ob,w':['嫂子','嫂','嫂嫂','阿嫂','家嫂','兄姊','兄嫂','兄妇','兄妻','几嫂'],
'ob,s':['侄子','兄子'],
'ob,s':['侄子','侄男','兄子'],
'ob,d':['侄女','兄女'],
'lb':['弟弟','弟','胞弟','亲弟','老弟','阿弟','细佬','依弟','小弟','几弟'],
'lb,w':['弟妹','弟媳','弟媳妇','弟媳妇子','弟新妇','老弟嫂'],
'lb,s':['侄子','弟子'],
'lb,s':['侄子','侄男','弟子'],
'lb,d':['侄女','弟女'],
'xb,s':['侄子','侄男','侄儿','侄儿子','侄','侄仔','阿侄'],
'xb,s,w':['侄媳妇','侄媳','侄嫂','侄妇'],

View File

@ -163,7 +163,7 @@ export function getSelectors(str){
});
result = res;
}
return isMatch?result:[];
return isMatch?filterId(result):[];
};
// 合并选择器,查找两个对象之间的关系

View File

@ -27,7 +27,7 @@ var relationship = function (parameter){
// console.log('[selectors]',from_selectors,to_selectors);
from_selectors.forEach(function(from_selector){
to_selectors.forEach(function(to_selector){
mergeSelector({
mergeSelector({
from:from_selector,
to:to_selector,
sex:options.sex,
@ -73,6 +73,7 @@ var relationship = function (parameter){
});
});
});
// console.log('[result]',result);
return [...new Set(result)];
};

View File

@ -3,7 +3,7 @@ var test = require('tape');
var relationship = require('..');
test('[call]', function (t) {
// console.log('[test]',relationship({text:'爸爸的妹妹的女儿的老公'}));
// console.log('[test]',relationship({text:'内侄'}));
t.deepEqual(relationship({text:'爸爸的哥哥的弟弟的儿子'}),['堂哥','堂弟','哥哥','弟弟','自己']);
t.deepEqual(relationship({text:'爸爸的妹妹的女儿的老公'}),['姑表姐夫','姑表妹夫']);
@ -37,6 +37,10 @@ test('[reverse]', function (t) {
t.deepEqual(relationship({text:'外婆',target:'女婿',reverse:true}),['外曾孙女婿','外曾外孙女婿']);
t.end();
});
test('[filter]', function (t) {
t.deepEqual(relationship({text:'内侄'}),['舅侄男','舅侄女']);
t.end();
});
test('[type:chain]', function (t) {
t.deepEqual(relationship({text:'舅爷爷',type:'chain'}),['爸爸的妈妈的兄弟']);
t.deepEqual(relationship({text:'妻儿',type:'chain'}),['老婆','儿子','女儿']);