updated 条件判断更加严谨

This commit is contained in:
PASSER-BY 2022-09-07 21:02:06 +08:00
parent 03062069ce
commit 97aa5f4384
7 changed files with 35 additions and 24 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

@ -670,8 +670,12 @@
var person = $person.value.trim();
var target = $target.value.trim();
if(person){
var reverse = !$reverse[1].checked;
var result = relationship({text:person,reverse:reverse,target:target,optimal:$optimal[0].checked});
if($reverse[0].checked){
var temp = target;
target = person;
person = temp;
}
var result = relationship({text:person,target:target,optimal:$optimal[0].checked});
if(result.length){
$result.value = result.join('\n');
}else{

View File

@ -351,11 +351,11 @@ export default {
'h,m,xs':['姨婆母','姨婆','姨婆婆'],
'h,m,xs,h':['姨公父','姨公','姨公公'],
'h':['老公','丈夫','先生','夫','男人','新郎','爱爷','夫亲','夫君','官人','汉子','老头子','郎君','相公','夫婿','良人','老公仔','爱人','老伴','那口子','配偶','伴侣','伉俪','卿卿'],
'h,ob':['大伯子','大伯儿','大伯兄','伯子','伯兄','大伯爷','伯爷子','婿伯'],
'h,ob':['大伯子','大伯儿','大伯兄','伯子','伯仔','伯','阿伯','大伯爷','伯爷子','婿伯'],
'h,ob,w':['大婶子','大婶儿','大叔兄妇','伯兄妇','伯嫂','伯妇','伯姆','姒妇','姒姆','大伯嫂','姆姆','大姆','大伯妇','大伯娘','姐妇','阿姆'],
'h,lb':['小叔子','小叔儿','小叔弟','叔子','叔弟'],
'h,lb':['小叔子','小叔儿','小叔弟','叔子','叔仔','叔','阿叔'],
'h,lb,w':['小婶子','小婶儿','小叔弟妇','叔弟妇','叔嫂','叔妇','叔姆','娣妇','娣姆','小叔妇','婶婶','小婶','小叔妇','小婶婶'],
'h,xb':['伯叔'],
'h,[ob|lb]':['伯叔'],
'h,xb,w':['妯娌','娣姒','娣姒姊妹','婶子'],
'h,xb,s':['叔侄','叔侄男','叔男'],
'h,xb,d':['叔侄女','叔女'],

View File

@ -82,27 +82,29 @@ var getOptimal = function(options){
var from_match = from_chain[i].match(/&([ol\d]+)/);
var to_match = to_chain[i].match(/&([ol\d]+)/);
if(!from_match){
from_match = from_chain[i].match(/([xol])[bs]/);
from_match = from_chain[i].match(/([ol])[bs]/);
}
if(!to_match){
to_match = to_chain[i].match(/([xol])[bs]/);
to_match = to_chain[i].match(/([ol])[bs]/);
}
var from_attr = from_match?from_match[1]:'';
var to_attr = to_match?to_match[1]:'';
if(!isNaN(from_attr)&&!isNaN(to_attr)){
if(from_attr>to_attr){
if(from_attr&&to_attr){
if(!isNaN(from_attr)&&!isNaN(to_attr)){
if(+from_attr>+to_attr){
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'lb').replace(/^[xol]s|^d/,'ls');
}else if(+from_attr<+to_attr){
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'ob').replace(/^[xol]s|^d/,'os');
}
}else if(!isNaN(from_attr)&&to_attr=='o'||from_attr=='l'&&!isNaN(to_attr)){
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'lb').replace(/^[xol]s|^d/,'ls');
}else if(from_attr<to_attr){
}else if(!isNaN(from_attr)&&to_attr=='l'||from_attr=='o'&&!isNaN(to_attr)){
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'ob').replace(/^[xol]s|^d/,'os');
}
}else if(!isNaN(from_attr)&&to_attr=='o'||from_attr=='l'&&!isNaN(to_attr)){
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'lb').replace(/^[xol]s|^d/,'ls');
}else if(!isNaN(from_attr)&&to_attr=='l'||from_attr=='o'&&!isNaN(to_attr)){
from_chain[i] = from_chain[i].replace(/^[xol]b|^s/,'ob').replace(/^[xol]s|^d/,'os');
from = from_chain.slice(i).join(',');
to = to_chain.slice(i+1).join(',');
sex = to_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;
}
from = from_chain.slice(i).join(',');
to = to_chain.slice(i+1).join(',');
sex = to_chain[i].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;
}
break;
}

View File

@ -3,7 +3,7 @@ var test = require('tape');
var relationship = require('..');
test('relationship.js show to be tested', function (t) {
// console.log('[test]',relationship({text:'大舅',target:'二舅的儿子'}));
// console.log('[test]',relationship({text:'舅妈',target:'二舅',type:'pair'}));
t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']);
t.deepEqual(relationship({text:'爱人',sex:1}),['老婆']);
t.deepEqual(relationship({text:'爱人的爱人',sex:1}),['自己']);
@ -32,6 +32,7 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'爸爸的二哥'}),['二伯']);
t.deepEqual(relationship({text:'二舅妈',target:'二舅',type:'pair'}),['夫妻']);
t.deepEqual(relationship({text:'二舅妈',target:'大舅',type:'pair'}),['叔嫂']);
t.deepEqual(relationship({text:'舅妈',target:'二舅',type:'pair'}),['叔嫂','夫妻']);
t.deepEqual(relationship({text:'二舅妈',target:'三舅'}),['二嫂']);
t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']);
t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['大伯']);

View File

@ -670,8 +670,12 @@
var person = $person.value.trim();
var target = $target.value.trim();
if(person){
var reverse = !$reverse[1].checked;
var result = relationship({text:person,reverse:reverse,target:target,optimal:$optimal[0].checked});
if($reverse[0].checked){
var temp = target;
target = person;
person = temp;
}
var result = relationship({text:person,target:target,optimal:$optimal[0].checked});
if(result.length){
$result.value = result.join('\n');
}else{