updated 两者互称重写
This commit is contained in:
parent
a5f06ac144
commit
b661f35880
5
dist/relationship.min.js
vendored
5
dist/relationship.min.js
vendored
File diff suppressed because one or more lines are too long
@ -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
|
||||
};
|
||||
}
|
||||
|
@ -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();
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user