updated 结果不输出“兄弟”、“姐妹”等合称

This commit is contained in:
PASSER-BY
2022-03-26 12:43:40 +08:00
parent 65705dde04
commit e8b38892f2
6 changed files with 42 additions and 36 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -249,8 +249,8 @@
<div class="item"> <div class="item">
<p class="q">5. 根据年龄推导可能性:</p> <p class="q">5. 根据年龄推导可能性:</p>
<p class="a">哥哥的表姐 = 姑表姐、舅表姐</p> <p class="a">哥哥的表姐 = 姑表姐、舅表姐</p>
<p class="a">堂妹的姐姐 = 堂姐妹</p> <p class="a">堂妹的姐姐 = 堂姐、堂</p>
<p class="a">弟弟的表哥 = 姑表兄弟、舅表兄</p> <p class="a">弟弟的表哥 = 姑表哥、姑表弟、舅表哥、舅表</p>
</div> </div>
</li> </li>
<li> <li>
+32 -26
View File
@@ -276,16 +276,16 @@
'h,f,[xs|xs,h]':['姑公婆'], 'h,f,[xs|xs,h]':['姑公婆'],
'h,m,[xb|xb,w]':['舅公婆'], 'h,m,[xb|xb,w]':['舅公婆'],
'h,m,[xs|xs,h]':['姨公婆'], 'h,m,[xs|xs,h]':['姨公婆'],
'[ob|lb]':['兄弟','亲兄弟','同胞兄弟'],
'[ob|lb],w':['兄弟媳妇','兄弟妇'],
'[os|ls]':['姐妹','亲姐妹','同胞姐妹'],
'[os|ls],h':['姐妹夫'],
'[xb|xs]':['兄弟姐妹','同胞','同胞兄弟姐妹','手足'], '[xb|xs]':['兄弟姐妹','同胞','同胞兄弟姐妹','手足'],
'[ob|os]':['哥哥姐姐'], '[ob|os]':['哥哥姐姐'],
'[lb|ls]':['弟弟妹妹'], '[lb|ls]':['弟弟妹妹'],
'[ob|ob,w]':['哥哥嫂嫂'], '[ob|ob,w]':['哥哥嫂嫂'],
'[f,xb|m,xs],[s|d]':['从兄弟姐妹','从姐妹兄弟'], '[f,xb|m,xs],[s|d]':['从兄弟姐妹','从姐妹兄弟'],
'[f,xs|m,xb],[s|d]':['表兄弟姐妹','表姐妹兄弟','老表'], '[f,xs|m,xb],[s|d]':['表兄弟姐妹','表姐妹兄弟','老表'],
'[f,xb|m,xs],s':['从兄弟'],
'[f,xb|m,xs],d':['从姐妹'],
'[f,xs|m,xb],s':['表兄弟'],
'[f,xs|m,xb],d':['表姐妹'],
'f,xb,[s|d]':['堂兄弟姐妹','堂姐妹兄弟','从父兄弟姐妹'], 'f,xb,[s|d]':['堂兄弟姐妹','堂姐妹兄弟','从父兄弟姐妹'],
'm,xs,[s|d]':['姨兄弟姐妹','姨姐妹兄弟','从母兄弟姐妹'], 'm,xs,[s|d]':['姨兄弟姐妹','姨姐妹兄弟','从母兄弟姐妹'],
'f,xs,[s|d]':['姑表兄弟姐妹'], 'f,xs,[s|d]':['姑表兄弟姐妹'],
@@ -308,7 +308,7 @@
'[s|d]#[s|d],[s|d]':['儿孙','子孙','孙息'], '[s|d]#[s|d],[s|d]':['儿孙','子孙','孙息'],
'[s,w|d,h],[f|m]':['亲家','儿女亲家'], '[s,w|d,h],[f|m]':['亲家','儿女亲家'],
'[s,w|d,h],f':['亲家公','亲家父','亲家翁','亲家世翁','姻翁'], '[s,w|d,h],f':['亲家公','亲家父','亲家翁','亲家世翁','姻翁'],
'[s,w|d,h],m':['亲家母','亲家婆','亲家姆','姻姆'], '[s,w|d,h],m':['亲家母','亲家婆','亲家姆','亲姆','姻姆'],
'[s,w|d,h],[f|m],f':['姻太翁'], '[s,w|d,h],[f|m],f':['姻太翁'],
'[s,w|d,h],[f|m],m':['姻太姆'], '[s,w|d,h],[f|m],m':['姻太姆'],
// 主线 // 主线
@@ -352,7 +352,7 @@
'f,f,f,xb,w':['族曾祖母'], 'f,f,f,xb,w':['族曾祖母'],
// 祖父辈 // 祖父辈
'f,f':['爷爷','祖父','奶爷','阿爷','阿公','嗲嗲','二世祖'], 'f,f':['爷爷','祖父','奶爷','阿爷','阿公','嗲嗲','二世祖'],
'f,m':['奶奶','祖母','阿嬷','阿嫲','嫲嫲','婻婻','娭毑'], 'f,m':['奶奶','祖母','阿嬷','阿嫲','嫲嫲','婻婻','娭毑','嗯奶'],
'm,f':['外公','外祖父','姥爷','阿公','客公','外爷','舅家爷','毑父','毑爷','嘎公'], 'm,f':['外公','外祖父','姥爷','阿公','客公','外爷','舅家爷','毑父','毑爷','嘎公'],
'm,m':['外婆','外祖母','姥姥','姥娘','姥婆','毑婆','阿婆','阿嬷','阿嫲','嫲嫲','外奶','客婆','舅家婆','毑母','毑毑','嘎嘎'], 'm,m':['外婆','外祖母','姥姥','姥娘','姥婆','毑婆','阿婆','阿嬷','阿嫲','嫲嫲','外奶','客婆','舅家婆','毑母','毑毑','嘎嘎'],
'f,f,ob':['伯公','伯祖','伯翁','伯爷','伯祖父','大爷爷','大爷','大公','伯爷爷','大伯公','大阿爷','x伯公','x阿爷'], 'f,f,ob':['伯公','伯祖','伯翁','伯爷','伯祖父','大爷爷','大爷','大公','伯爷爷','大伯公','大阿爷','x伯公','x阿爷'],
@@ -475,6 +475,10 @@
'w,m,m,m':['外曾外祖岳母','外曾外祖丈母','外曾外祖丈母娘','祖姥丈母娘','太姥丈母娘'], 'w,m,m,m':['外曾外祖岳母','外曾外祖丈母','外曾外祖丈母娘','祖姥丈母娘','太姥丈母娘'],
'w,f,f':['祖岳父','太岳父','奶岳父','祖丈人','爷丈人','奶爷丈人','奶丈爷','奶丈人','老丈爷'], 'w,f,f':['祖岳父','太岳父','奶岳父','祖丈人','爷丈人','奶爷丈人','奶丈爷','奶丈人','老丈爷'],
'w,f,m':['祖岳母','太岳母','奶岳母','祖丈母','祖丈母娘','奶丈母娘','奶丈姥','奶丈母','老丈姥'], 'w,f,m':['祖岳母','太岳母','奶岳母','祖丈母','祖丈母娘','奶丈母娘','奶丈姥','奶丈母','老丈姥'],
'w,f,ob':['伯岳父','姻伯','姻伯丈'],
'w,f,ob,w':['伯岳母','姻姆'],
'w,f,lb':['叔岳父','姻叔','姻叔丈'],
'w,f,lb,w':['叔岳母','姻婶'],
'w,m,f':['外祖岳父','外祖丈人','外太岳父','姥岳父','姥丈爷','姥丈人','姥爷丈人','老丈爷'], 'w,m,f':['外祖岳父','外祖丈人','外太岳父','姥岳父','姥丈爷','姥丈人','姥爷丈人','老丈爷'],
'w,m,m':['外祖岳母','外祖丈母娘','外祖丈母','外太岳母','姥岳母','姥丈姥','姥丈母','姥丈母娘'], 'w,m,m':['外祖岳母','外祖丈母娘','外祖丈母','外太岳母','姥岳母','姥丈姥','姥丈母','姥丈母娘'],
'w,f':['岳父','岳丈','岳老子','老干爷','老丈人','丈母爷','老丈杆子','丈人爹','丈爷爹','岳翁','丈人','丈父','丈爷','外父','妻父','泰山','外舅','老亲爷'], 'w,f':['岳父','岳丈','岳老子','老干爷','老丈人','丈母爷','老丈杆子','丈人爹','丈爷爹','岳翁','丈人','丈父','丈爷','外父','妻父','泰山','外舅','老亲爷'],
@@ -496,9 +500,7 @@
'ob':['哥哥','哥','兄','老哥','兄长','阿哥','大佬','胞哥','大哥','x哥'], 'ob':['哥哥','哥','兄','老哥','兄长','阿哥','大佬','胞哥','大哥','x哥'],
'ob,w':['嫂子','嫂','嫂嫂','哥嫂','兄嫂','兄妇','兄妻','大嫂','大嫂子','阿嫂','x嫂'], 'ob,w':['嫂子','嫂','嫂嫂','哥嫂','兄嫂','兄妇','兄妻','大嫂','大嫂子','阿嫂','x嫂'],
'lb':['弟弟','弟','胞弟','老弟','阿弟','细佬','小弟','幺弟','细弟','满弟','x弟'], 'lb':['弟弟','弟','胞弟','老弟','阿弟','细佬','小弟','幺弟','细弟','满弟','x弟'],
'lb,w':['弟妹','弟媳','弟媳妇','弟妇','x弟妹'], 'lb,w':['弟妹','弟媳','弟媳妇','弟新妇','弟妇','x弟妹'],
'xb':['兄弟','亲兄弟','同胞兄弟'],
'xb,w':['兄弟媳妇','兄弟妇'],
'0,xb,w,xb,s':['舅眷舅男'], '0,xb,w,xb,s':['舅眷舅男'],
'1,xb,w,xb,s':['叔眷舅男'], '1,xb,w,xb,s':['叔眷舅男'],
'0,xb,w,xb,d':['舅眷舅女'], '0,xb,w,xb,d':['舅眷舅女'],
@@ -508,14 +510,14 @@
'0,xb,w,xs,d':['舅眷姨女'], '0,xb,w,xs,d':['舅眷姨女'],
'1,xb,w,xs,d':['叔眷姨女'], '1,xb,w,xs,d':['叔眷姨女'],
'0,xb,s':['娘家侄子','娘家侄'], '0,xb,s':['娘家侄子','娘家侄'],
'xb,s':['侄子','侄男','侄儿','阿侄','侄'], 'xb,s':['侄子','侄男','侄儿','阿侄','侄','从子'],
'xb,s,s':['侄孙','从孙'],
'xb,d':['侄女','侄囡','从女'],
// 姐妹 // 姐妹
'os':['姐姐','姐','阿姊','胞姐','大姐','阿姐','家姐','x姐'], 'os':['姐姐','姐','阿姊','胞姐','大姐','阿姐','家姐','x姐'],
'os,h':['姐夫','姐丈','姐婿','姐夫哥','胞姐夫','大姐夫','x姐夫'], 'os,h':['姐夫','姐丈','姐婿','姐夫哥','胞姐夫','大姐夫','x姐夫'],
'ls':['妹妹','妹','胞妹','老妹','阿妹','小妹','幺妹','细妹','满妹','x妹'], 'ls':['妹妹','妹','胞妹','老妹','阿妹','小妹','幺妹','细妹','满妹','x妹'],
'ls,h':['妹夫','妹丈','妹婿','妹弟','胞妹夫','小妹夫','x妹夫'], 'ls,h':['妹夫','妹丈','妹婿','妹弟','胞妹夫','小妹夫','x妹夫'],
'xs':['姐妹','亲姐妹','同胞姐妹'],
'xs,h':['姐妹夫'],
'0,xs,h,xb,s':['姨姻叔男'], '0,xs,h,xb,s':['姨姻叔男'],
'1,xs,h,xb,s':['姑姻叔男'], '1,xs,h,xb,s':['姑姻叔男'],
'0,xs,h,xb,d':['姨姻叔女'], '0,xs,h,xb,d':['姨姻叔女'],
@@ -531,7 +533,7 @@
'xs,s':['外甥','外甥男','外甥儿','外甥子','外甥儿子'], 'xs,s':['外甥','外甥男','外甥儿','外甥子','外甥儿子'],
'xs,d':['外甥女','外甥囡','外甥女儿','外甥闺女'], 'xs,d':['外甥女','外甥囡','外甥女儿','外甥闺女'],
// 堂表亲 // 堂表亲
'f,xb,s,s':['堂侄','堂侄子','堂侄儿','堂侄男','从父侄男','叔伯侄男','从父侄子','叔伯侄子','从子'], 'f,xb,s,s':['堂侄','堂侄子','堂侄儿','堂侄男','从父侄男','叔伯侄男','从父侄子','叔伯侄子'],
'f,xb,s,s,w':['堂侄媳妇','堂侄妇','从父侄妇','叔伯侄妇'], 'f,xb,s,s,w':['堂侄媳妇','堂侄妇','从父侄妇','叔伯侄妇'],
'f,xb,d,s':['堂外甥','堂甥男','从父甥男','叔伯甥男'], 'f,xb,d,s':['堂外甥','堂甥男','从父甥男','叔伯甥男'],
'f,xb,d,s,w':['堂甥媳妇','堂甥妇','从父甥妇','叔伯甥妇'], 'f,xb,d,s,w':['堂甥媳妇','堂甥妇','从父甥妇','叔伯甥妇'],
@@ -605,7 +607,7 @@
's,d,d,s,w':['曾外曾外孙媳妇'], 's,d,d,s,w':['曾外曾外孙媳妇'],
's,d,d,d':['曾外曾外孙女'], 's,d,d,d':['曾外曾外孙女'],
's,d,d,d,h':['曾外曾外孙女婿'], 's,d,d,d,h':['曾外曾外孙女婿'],
'd':['女儿','千金','掌上明珠','息女','闺女','囡女','乖囡','囡囡','丫头','姑娘','妮子','女亲','长女','次女','幼女','女','阿女','女女','x女儿'], 'd':['女儿','千金','掌上明珠','息女','闺女','囡女','乖囡','囡囡','囡嗯','丫头','姑娘','妮子','女亲','长女','次女','幼女','女','阿女','女女','x女儿'],
'd,h':['女婿','姑爷','女婿子','女婿儿','儿婿','子婿','息婿','囝婿','x女婿'], 'd,h':['女婿','姑爷','女婿子','女婿儿','儿婿','子婿','息婿','囝婿','x女婿'],
'd,s':['外孙','外孙子','外孙儿'], 'd,s':['外孙','外孙子','外孙儿'],
'd,s,w':['外孙媳妇','外孙妇','外孙新妇'], 'd,s,w':['外孙媳妇','外孙妇','外孙新妇'],
@@ -853,7 +855,7 @@
'{G1},s&o,w':['嫂','兄妇'], '{G1},s&o,w':['嫂','兄妇'],
'{G1},s&l':['弟'], '{G1},s&l':['弟'],
'{G1},s&l,w':['弟媳','弟妇'], '{G1},s&l,w':['弟媳','弟妇'],
'{G1},s':['兄弟'], '{G1},[s&o|s&l]':['兄弟'],
'{G1},s,s':['侄男'], '{G1},s,s':['侄男'],
'{G1},s,s,w':['侄妇'], '{G1},s,s,w':['侄妇'],
'{G1},s,s,s':['侄孙男'], '{G1},s,s,s':['侄孙男'],
@@ -870,7 +872,7 @@
'{G1},d&o,h':['姐夫'], '{G1},d&o,h':['姐夫'],
'{G1},d&l':['妹'], '{G1},d&l':['妹'],
'{G1},d&l,h':['妹夫'], '{G1},d&l,h':['妹夫'],
'{G1},d':['姐妹'], '{G1},[d&o|d&l]':['姐妹'],
'{G1},d,s':['甥男'], '{G1},d,s':['甥男'],
'{G1},d,s,w':['甥妇'], '{G1},d,s,w':['甥妇'],
'{G1},d,s,s':['甥孙男'], '{G1},d,s,s':['甥孙男'],
@@ -1100,18 +1102,18 @@
'{M0},m,xs,d&o,h':['姨表姊婿'], '{M0},m,xs,d&o,h':['姨表姊婿'],
'{M0},m,xs,d&l':['姨表妹'], '{M0},m,xs,d&l':['姨表妹'],
'{M0},m,xs,d&l,h':['姨表妹婿'], '{M0},m,xs,d&l,h':['姨表妹婿'],
'{M0},xb&o':['兄'], '{M0},ob':['兄'],
'{M0},xb&o,w':['兄妇'], '{M0},ob,w':['兄妇'],
'{M0},xb&l':['弟'], '{M0},lb':['弟'],
'{M0},xb&l,w':['弟妇'], '{M0},lb,w':['弟妇'],
'{M0},xb,s':['侄男'], '{M0},xb,s':['侄男'],
'{M0},xb,s,w':['侄妇'], '{M0},xb,s,w':['侄妇'],
'{M0},xb,d':['侄女'], '{M0},xb,d':['侄女'],
'{M0},xb,d,h':['侄婿'], '{M0},xb,d,h':['侄婿'],
'{M0},xs&o':['姊'], '{M0},os':['姊'],
'{M0},xs&o,h':['姊婿'], '{M0},os,h':['姊婿'],
'{M0},xs&l':['妹'], '{M0},ls':['妹'],
'{M0},xs&l,h':['妹婿'], '{M0},ls,h':['妹婿'],
'{M0},xs,s':['甥男'], '{M0},xs,s':['甥男'],
'{M0},xs,s,w':['甥妇'], '{M0},xs,s,w':['甥妇'],
'{M0},xs,d':['甥女'], '{M0},xs,d':['甥女'],
@@ -1391,7 +1393,7 @@
if(!items.length){ if(!items.length){
var l = id.replace(/x/g,'l'); var l = id.replace(/x/g,'l');
var o = id.replace(/x/g,'o'); var o = id.replace(/x/g,'o');
items = items.concat(getData(l),getData(o)); items = items.concat(getData(o),getData(l));
} }
} }
return items; return items;
@@ -1459,7 +1461,11 @@
var arr = id.split(','); var arr = id.split(',');
return arr.map(function(sign){ return arr.map(function(sign){
var key = sign.replace(/&[ol]/,''); var key = sign.replace(/&[ol]/,'');
return _data[key][0]; var data = Object.assign(_data,{
'xb':['兄弟'],
'xs':['姐妹'],
});
return data[key][0];
}).join('的'); }).join('的');
} }
+4 -4
View File
@@ -11,10 +11,10 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'老婆的老公',sex:1}),['自己']); t.deepEqual(relationship({text:'老婆的老公',sex:1}),['自己']);
t.deepEqual(relationship({text:'老婆的外孙的姥爷',sex:1}),['自己']); t.deepEqual(relationship({text:'老婆的外孙的姥爷',sex:1}),['自己']);
t.deepEqual(relationship({text:'表姐的哥哥',sex:1}),['姑表哥','舅表哥']); t.deepEqual(relationship({text:'表姐的哥哥',sex:1}),['姑表哥','舅表哥']);
t.deepEqual(relationship({text:'表姐的妹妹',sex:1}),['姑表姐妹','舅表姐妹']); t.deepEqual(relationship({text:'表姐的妹妹',sex:1}),['姑表姐','姑表妹','舅表姐','舅表妹']);
t.deepEqual(relationship({text:'弟弟的表哥',sex:1}),['姑表兄弟', '舅表弟']); t.deepEqual(relationship({text:'弟弟的表哥',sex:1}),['姑表哥','姑表弟','舅表哥','舅表弟']);
t.deepEqual(relationship({text:'老公的老婆的儿子的爸爸',sex:0}),['老公']); t.deepEqual(relationship({text:'老公的老婆的儿子的爸爸',sex:0}),['老公']);
t.deepEqual(relationship({text:'哥哥的弟弟的爸爸的儿子',sex:1}),['弟','自己']); t.deepEqual(relationship({text:'哥哥的弟弟的爸爸的儿子',sex:1}),['哥哥','弟弟','自己']);
t.deepEqual(relationship({text:'爸爸的舅舅',sex:0,reverse:true}),['甥孙女']); t.deepEqual(relationship({text:'爸爸的舅舅',sex:0,reverse:true}),['甥孙女']);
t.deepEqual(relationship({text:'舅爷爷',type:'chain'}),['爸爸的妈妈的兄弟']); t.deepEqual(relationship({text:'舅爷爷',type:'chain'}),['爸爸的妈妈的兄弟']);
t.deepEqual(relationship({text:'堂兄弟的孩子',sex:1}),['堂侄','堂侄女']); t.deepEqual(relationship({text:'堂兄弟的孩子',sex:1}),['堂侄','堂侄女']);
@@ -22,7 +22,7 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'姑妈',target:'舅妈',reverse:true}),['兄弟眷兄妇','兄弟眷弟妇']); t.deepEqual(relationship({text:'姑妈',target:'舅妈',reverse:true}),['兄弟眷兄妇','兄弟眷弟妇']);
t.deepEqual(relationship({text:'舅妈',target:'女儿',reverse:true}),['姑甥孙女','姑甥外孙女']); t.deepEqual(relationship({text:'舅妈',target:'女儿',reverse:true}),['姑甥孙女','姑甥外孙女']);
t.deepEqual(relationship({text:'老公的父母',target:'孩子'}),['爷爷','奶奶']); t.deepEqual(relationship({text:'老公的父母',target:'孩子'}),['爷爷','奶奶']);
t.deepEqual(relationship({text:'爸爸的哥哥的弟弟的儿子'}),['堂兄弟', '弟', '自己']); t.deepEqual(relationship({text:'爸爸的哥哥的弟弟的儿子'}),['堂哥','堂弟','哥哥','弟','自己']);
t.deepEqual(relationship({text:'外婆',target:'女婿',reverse:true}),['外曾孙女婿','外曾外孙女婿']); t.deepEqual(relationship({text:'外婆',target:'女婿',reverse:true}),['外曾孙女婿','外曾外孙女婿']);
t.deepEqual(relationship({text:'我',target:'爸爸'}),['儿子','女儿']); t.deepEqual(relationship({text:'我',target:'爸爸'}),['儿子','女儿']);
t.deepEqual(relationship({text:'爱人',target:'娘家侄子'}),['姑丈']); t.deepEqual(relationship({text:'爱人',target:'娘家侄子'}),['姑丈']);
+2 -2
View File
@@ -249,8 +249,8 @@
<div class="item"> <div class="item">
<p class="q">5. 根據年齡推導可能性:</p> <p class="q">5. 根據年齡推導可能性:</p>
<p class="a">哥哥的表姐 = 姑表姐、舅表姐</p> <p class="a">哥哥的表姐 = 姑表姐、舅表姐</p>
<p class="a">堂妹的姐姐 = 堂姐妹</p> <p class="a">堂妹的姐姐 = 堂姐、堂</p>
<p class="a">弟弟的表哥 = 姑表兄弟、舅表兄</p> <p class="a">弟弟的表哥 = 姑表哥、姑表弟、舅表哥、舅表</p>
</div> </div>
</li> </li>
<li> <li>