updated 两者互称重写

This commit is contained in:
PASSER-BY 2021-11-25 00:03:36 +08:00
parent a5f06ac144
commit b661f35880
3 changed files with 15 additions and 21 deletions

File diff suppressed because one or more lines are too long

View File

@ -2436,27 +2436,20 @@
// 合并选择器,查找两个对象之间的关系
function mergeSelector(from,to){
var Index = 0;
var from_arr = from.split(',');
var to_arr = to.split(',');
var mid_sex = -1;
var sex = -1;
var reg_sex = /([fhs1](&[ol])?|[olx]b)/;
for(var i=0;i<from_arr.length&&i<to_arr.length;i++){
if(from_arr[i]!=to_arr[i]){
break;
}
}
if(to_arr[i-1]){
mid_sex = to_arr[i-1].match(reg_sex)?1:0;
var mid_sex = -1;
if(mid_sex<0){
mid_sex = from.match(/^,w/)?1:0;
}
if(to_arr[to_arr.length-1]){
sex = to_arr[to_arr.length-1].match(reg_sex)?1:0;
if(mid_sex<0){
mid_sex = to.match(/^,w/)?1:0;
}
mid_sex = mid_sex?1:0;
var sex = -1;
if(to){
sex = to.match(/([fhs1](&[ol])?|[olx]b)$/)?1:0;
}
var from_sub = from_arr.slice(i).join(',');
var to_sub = to_arr.slice(i).join(',');
return {
'selector':(to_sub?','+reverseId(to_sub,mid_sex):'')+(from_sub?','+from_sub:''),
'selector':(to?','+reverseId(to.substr(1),mid_sex):'')+from,
'sex':sex
};
}

View File

@ -18,6 +18,8 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'爸爸的舅舅',sex:0,reverse:true}),['甥孙女']);
t.deepEqual(relationship({text:'舅爷爷',type:'chain'}),['爸爸的妈妈的兄弟']);
t.deepEqual(relationship({text:'堂兄弟的孩子',sex:1}),['堂侄','堂侄女']);
t.deepEqual(relationship({text:'岳母',target:'女儿',reverse:true}),['外孙女']);
t.deepEqual(relationship({text:'姑妈',target:'舅妈',reverse:true}),['兄弟眷兄妇','兄弟眷弟妇']);
t.end();
});