修复妈妈的儿子和儿子的妈妈关系定位错误的bug
This commit is contained in:
parent
97c3f6489c
commit
c968518fd6
@ -17,6 +17,14 @@
|
|||||||
exp:/(,[fhs]|([olx]b)),[ds](&[ol])?,m/g,
|
exp:/(,[fhs]|([olx]b)),[ds](&[ol])?,m/g,
|
||||||
str:'$1,w'
|
str:'$1,w'
|
||||||
},
|
},
|
||||||
|
{//不知道性别,女儿或儿子的妈妈是自己或妻子
|
||||||
|
exp:/^,[ds],m/g,
|
||||||
|
str:',#,w'
|
||||||
|
},
|
||||||
|
{//不知道性别,女儿或儿子的妈妈是自己或丈夫
|
||||||
|
exp:/^,[ds],f/g,
|
||||||
|
str:',#,h'
|
||||||
|
},
|
||||||
{//夫妻的孩子就是自己的孩子
|
{//夫妻的孩子就是自己的孩子
|
||||||
exp:/,[wh],([ds])/g,
|
exp:/,[wh],([ds])/g,
|
||||||
str:',$1'
|
str:',$1'
|
||||||
@ -69,12 +77,12 @@
|
|||||||
|
|
||||||
{//如果自己是男性,父母的儿子是自己或者兄弟
|
{//如果自己是男性,父母的儿子是自己或者兄弟
|
||||||
con:/(,[fhs]|([olx]b)),[mf],s/,
|
con:/(,[fhs]|([olx]b)),[mf],s/,
|
||||||
exp:/^(.+),[mf],s(.+)$/,
|
exp:/^(.+)?,[mf],s(.+)$/,
|
||||||
str:'$1$2#$1,xb$2'
|
str:'$1$2#$1,xb$2'
|
||||||
},
|
},
|
||||||
{//如果自己是女性,父母的女儿是自己或者姐妹
|
{//如果自己是女性,父母的女儿是自己或者姐妹
|
||||||
con:/(,[mwd]|([olx]s)),[mf],d/,
|
con:/(,[mwd]|([olx]s)),[mf],d/,
|
||||||
exp:/^(.+),[mf],d(.+)$/,
|
exp:/^(.+)?,[mf],d(.+)$/,
|
||||||
str:'$1$2#$1,xs$2'
|
str:'$1$2#$1,xs$2'
|
||||||
},
|
},
|
||||||
{//如果自己是女性,父母的儿子是自己或者兄弟
|
{//如果自己是女性,父母的儿子是自己或者兄弟
|
||||||
@ -87,14 +95,22 @@
|
|||||||
exp:/,[mf],d/,
|
exp:/,[mf],d/,
|
||||||
str:',xs'
|
str:',xs'
|
||||||
},
|
},
|
||||||
{//父母的女儿是姐妹
|
{//父母的儿子是自己或兄妹
|
||||||
|
exp:/^,[mf],s,(.+)$/,
|
||||||
|
str:',$1#,xb,$1'
|
||||||
|
},
|
||||||
|
{//父母的女儿是自己或者姐妹
|
||||||
|
exp:/^,[mf],d(.+)$/,
|
||||||
|
str:',$1#,xs$1'
|
||||||
|
},
|
||||||
|
{//父母的儿子是自己或兄妹
|
||||||
exp:/^,[mf],s$/,
|
exp:/^,[mf],s$/,
|
||||||
str:',#,xb'
|
str:',#,xb'
|
||||||
},
|
},
|
||||||
{//父母的女儿是自己或者姐妹
|
{//父母的女儿是自己或者姐妹
|
||||||
exp:/^,[mf],d$/,
|
exp:/^,[mf],d$/,
|
||||||
str:',#,xs'
|
str:',#,xs'
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
var _data = {
|
var _data = {
|
||||||
@ -427,17 +443,18 @@
|
|||||||
|
|
||||||
function relationship(str){
|
function relationship(str){
|
||||||
var selectors = getSelectors(str);
|
var selectors = getSelectors(str);
|
||||||
// console.log(selectors);
|
// console.log('selectors',selectors);
|
||||||
var result = []; //匹配结果
|
var result = []; //匹配结果
|
||||||
for(var i = 0;i<selectors.length;i++){ //遍历所有可能性
|
for(var i = 0;i<selectors.length;i++){ //遍历所有可能性
|
||||||
var ids = selector2id(selectors[i]);
|
var ids = selector2id(selectors[i]);
|
||||||
for(var j=0;j<ids.length;j++){
|
for(var j=0;j<ids.length;j++){
|
||||||
var id = ids[j];
|
var id = ids[j];
|
||||||
// console.log(id);
|
// console.log('id',id,_data[id]);
|
||||||
if(_data[id]){ //直接匹配称呼
|
if(_data[id]){ //直接匹配称呼
|
||||||
result.push(_data[id][0]);
|
result.push(_data[id][0]);
|
||||||
}else{ //高级查找
|
}else{ //高级查找
|
||||||
var data = getDataById(id); //忽略属性查找
|
var data = getDataById(id); //忽略属性查找
|
||||||
|
console.log(data);
|
||||||
if(!data.length){ //当无精确数据时,忽略年龄条件查找
|
if(!data.length){ //当无精确数据时,忽略年龄条件查找
|
||||||
id = id.replace(/&[ol]/g,'');
|
id = id.replace(/&[ol]/g,'');
|
||||||
data = getDataById(id);
|
data = getDataById(id);
|
||||||
@ -464,4 +481,4 @@
|
|||||||
window.relationship = relationship;
|
window.relationship = relationship;
|
||||||
})(window);
|
})(window);
|
||||||
|
|
||||||
console.log(relationship('表姐的妹妹'));
|
console.log(relationship('妈妈的儿子'));
|
Loading…
x
Reference in New Issue
Block a user