updated 优化部分代码
This commit is contained in:
parent
97aa5f4384
commit
3212d3007e
2
dist/relationship.min.js
vendored
2
dist/relationship.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/relationship.zh-HK.min.js
vendored
2
dist/relationship.zh-HK.min.js
vendored
File diff suppressed because one or more lines are too long
36
src/main.js
36
src/main.js
@ -357,24 +357,16 @@ export default {
|
||||
'h,lb,w':['小婶子','小婶儿','小叔弟妇','叔弟妇','叔嫂','叔妇','叔姆','娣妇','娣姆','小叔妇','婶婶','小婶','小叔妇','小婶婶'],
|
||||
'h,[ob|lb]':['伯叔'],
|
||||
'h,xb,w':['妯娌','娣姒','娣姒姊妹','婶子'],
|
||||
'h,xb,s':['叔侄','叔侄男','叔男'],
|
||||
'h,xb,d':['叔侄女','叔女'],
|
||||
'h,xb,s,s':['叔侄孙','叔孙','叔侄孙男','叔孙男'],
|
||||
'h,xb,s,d':['叔侄孙女','叔孙女'],
|
||||
'h,xb,d,s':['叔侄外孙','叔外孙','叔侄外孙男','叔外孙男'],
|
||||
'h,xb,d,d':['叔侄外孙女','叔外孙女'],
|
||||
'h,xb,s':['叔侄'],
|
||||
'h,xb,d':['叔侄女'],
|
||||
'h,os':['大姑子','大姑姐','大姑儿','大姑娘','姑姊','婆姐','婆婆姐','大娘姑'],
|
||||
'h,os,h':['大姑夫','大姑姐夫','大亘子','婆姐夫','婆婆姐夫'],
|
||||
'h,ls':['小姑子','小姑妹','小姑儿','小姑娘','姑妹','婆妹','婆婆妹'],
|
||||
'h,ls,h':['小姑夫','小姑妹夫','小亘子','婆妹夫','婆婆妹夫'],
|
||||
'h,xs':['姑子','夫姑'],
|
||||
'h,xs,h':['姑夫','姑郎'],
|
||||
'h,xs,s':['姑甥','姑甥男','姑男'],
|
||||
'h,xs,d':['姑甥女','姑女'],
|
||||
'h,xs,s,s':['姑甥孙','姑孙','姑甥孙男','姑孙男'],
|
||||
'h,xs,s,d':['姑甥孙女','姑孙女'],
|
||||
'h,xs,d,s':['姑甥外孙','姑外孙','姑外孙男','姑外孙男'],
|
||||
'h,xs,d,d':['姑甥外孙女','姑外孙女'],
|
||||
'h,xs,s':['姑甥'],
|
||||
'h,xs,d':['姑甥女'],
|
||||
// 岳家
|
||||
'w,f,f,f':['曾祖岳父','曾祖丈人','太爷丈人','祖爷丈人'],
|
||||
'w,f,f,m':['曾祖岳母','曾祖丈母','曾祖丈母娘','祖奶丈母娘','太奶丈母娘'],
|
||||
@ -405,24 +397,16 @@ export default {
|
||||
'w,lb,w':['小舅妇','小舅姆','小舅弟妇','小舅嫂','舅弟媳','小舅妹','小舅媳妇','小妗子','小妗儿'],
|
||||
'w,xb':['舅子','舅佬','妻舅','老婆舅','阿舅','亲家舅','舅老倌'],
|
||||
'w,xb,w':['舅嫂','舅妇','舅姆','妻妗','妗仔','妗子','妗儿'],
|
||||
'w,xb,s':['舅侄','舅侄男','舅男'],
|
||||
'w,xb,d':['舅侄女','舅女'],
|
||||
'w,xb,s,s':['舅侄孙','舅孙','舅侄孙男','舅孙男'],
|
||||
'w,xb,s,d':['舅侄孙女','舅孙女'],
|
||||
'w,xb,d,s':['舅侄外孙','舅外孙','舅侄外孙男','舅外孙男'],
|
||||
'w,xb,d,d':['舅侄外孙女','舅外孙女'],
|
||||
'w,xb,s':['舅侄'],
|
||||
'w,xb,d':['舅侄女'],
|
||||
'w,os':['大姨子','大姨姐','大姨儿','姨姐'],
|
||||
'w,os,h':['大姨夫','大姨姐夫','襟兄','大尹子'],
|
||||
'w,ls':['小姨子','小姨妹','小茙儿','姨妹','姨仔','姨妹子'],
|
||||
'w,ls,h':['小姨夫','小姨妹夫','小茙夫','襟弟','小尹子'],
|
||||
'w,xs':['姨子','妻姨'],
|
||||
'w,xs,h':['连襟','连桥','两桥','姨夫','姨夫爷','一担挑','老挑','挑担','担儿挑','连襟儿','妻尹','娅'],
|
||||
'w,xs,s':['姨甥','姨甥男','姨男'],
|
||||
'w,xs,d':['姨甥女','姨女'],
|
||||
'w,xs,s,s':['姨甥孙','姨孙','姨甥孙男','姨孙男'],
|
||||
'w,xs,s,d':['姨甥孙女','姨孙女'],
|
||||
'w,xs,d,s':['姨甥外孙','姨外孙','姨外孙男','姨外孙男'],
|
||||
'w,xs,d,d':['姨甥外孙女','姨外孙女'],
|
||||
'w,xs,s':['姨甥'],
|
||||
'w,xs,d':['姨甥女'],
|
||||
// 兄弟姐妹系
|
||||
'ob':['哥哥','哥','胞兄','亲哥','老哥','依哥','阿哥','家兄','兄长','大佬','元兄','长兄','几哥'],
|
||||
'ob,w':['嫂子','嫂','嫂嫂','阿嫂','家嫂','兄姊','兄嫂','兄妇','兄妻','几嫂'],
|
||||
@ -447,7 +431,7 @@ export default {
|
||||
'xs,d':['外甥女','甥女','甥囡','甥女儿','甥闺女'],
|
||||
'xs,d,h':['甥女婿','甥婿','甥儿息婿儿'],
|
||||
// 子系
|
||||
's':['儿子','男儿','息男','闺男','囝囝','囝男','小子','娃子','男亲','伢子','长子','次子','幼子','儿','仔','囝','子','阿仔','仔仔','后生','公子','少爷','一世孙'],
|
||||
's':['儿子','男儿','息男','闺男','囝囝','囝男','囝儿','小子','娃子','男亲','伢子','长子','次子','幼子','儿','仔','囝','子','阿仔','仔仔','后生','公子','少爷','一世孙'],
|
||||
's,w':['儿媳','儿媳妇','息妇儿','儿媳妇儿','新妇','新妇囝','心抱','息妇','儿妇','子妇','小妇','少奶奶','少夫人'],
|
||||
's,w,f':['亲家公'],
|
||||
's,w,f,f&o':['姻伯'],
|
||||
@ -553,7 +537,7 @@ export default {
|
||||
's,d,d,s,w':['曾外曾外孙媳妇'],
|
||||
's,d,d,d':['曾外曾外孙女'],
|
||||
's,d,d,d,h':['曾外曾外孙女婿'],
|
||||
'd':['女儿','千金','小姐','掌上明珠','息女','闺女','囡女','乖囡','囡囡','囡嗯','囡儿','丫头','姑娘','妮子','女亲','长女','次女','幼女','女','阿女','女女'],
|
||||
'd':['女儿','千金','小姐','掌上明珠','息女','闺女','囡囡','囡女','囡儿','乖囡','囡嗯','丫头','姑娘','妮子','女亲','长女','次女','幼女','女','阿女','女女'],
|
||||
'd,h':['女婿','姑爷','姑爷儿','女婿子','女婿儿','儿婿','子婿','息婿','小婿','郎婿','郎婿子','息婿儿','囝婿','囡婿','东床','半子'],
|
||||
'd,h,f':['亲家公'],
|
||||
'd,h,f,f&o':['姻伯'],
|
||||
|
13
src/map.js
13
src/map.js
@ -12,12 +12,12 @@ for(var key in _branch){
|
||||
for(var k in _prefix[tag]){
|
||||
var prefixList = _prefix[tag][k];
|
||||
var newKey = key.replace(tag,k);
|
||||
var isFilter = ['h,h','w,w','w,h','h,w'].some(pair=>(newKey.indexOf(pair)>-1));
|
||||
var isFilter = ['h,h','w,w','w,h','h,w'].some(pair=>(newKey.includes(pair)));
|
||||
var newList = [];
|
||||
if(!isFilter){
|
||||
prefixList.forEach(function(prefix){
|
||||
nameList.forEach(function(name){
|
||||
if(name.indexOf('?')>-1){
|
||||
if(name.includes('?')){
|
||||
newList.push(name.replace('?',prefix));
|
||||
}else{
|
||||
newList.push(prefix+name);
|
||||
@ -39,12 +39,7 @@ var branch = {
|
||||
'w':['妻','内','岳','岳家','丈人'],
|
||||
'h':['夫','外','公','婆家','婆婆'],
|
||||
};
|
||||
var allName = {};
|
||||
for(var key in _map){
|
||||
_map[key].forEach(function(name){
|
||||
allName[name]=true;
|
||||
});
|
||||
}
|
||||
var nameSet = new Set(Object.values(_map).flat());
|
||||
for(var key in _map){
|
||||
if(key.match(/^[fm]/)||key.match(/^[olx][bs]$|^[olx][bs],[^mf]/)){
|
||||
for(var k in branch){
|
||||
@ -57,7 +52,7 @@ for(var key in _map){
|
||||
prefixList.forEach(function(prefix){
|
||||
nameList.forEach(function(name){
|
||||
var newName = prefix+name;
|
||||
if(!allName[newName]){ // 配偶组合的称呼不得已原有称呼冲突(如:妻舅!=妻子的舅舅;外舅公!=老公的舅公)
|
||||
if(!nameSet.has(newName)){ // 配偶组合的称呼不得已原有称呼冲突(如:妻舅!=妻子的舅舅;外舅公!=老公的舅公)
|
||||
_map[newKey].push(newName);
|
||||
}
|
||||
});
|
||||
|
@ -14,7 +14,7 @@ var zh2number = function(text){
|
||||
if(map[text]){
|
||||
num = map[text];
|
||||
}else{
|
||||
if(text.indexOf('十')>-1){
|
||||
if(text.includes('十')){
|
||||
var numAttr = text.split('十');
|
||||
if(!numAttr[0]){
|
||||
num = 10;
|
||||
@ -23,7 +23,7 @@ var zh2number = function(text){
|
||||
}
|
||||
num += textAttr.indexOf(numAttr[1]);
|
||||
}else{
|
||||
num += textAttr.indexOf(text)>-1?textAttr.indexOf(text):0;
|
||||
num += textAttr.includes(text)?textAttr.indexOf(text):0;
|
||||
}
|
||||
}
|
||||
return num;
|
||||
@ -121,7 +121,7 @@ export function unique(arr){
|
||||
var sameList = arr.filter(item=>item==item.replace(/[ol](?=s|b)/,'x').replace(/&[ol]/,''));
|
||||
return arr.filter(item=>{
|
||||
var temp = item.replace(/[ol](?=s|b)/,'x').replace(/&[ol]/,'');
|
||||
return sameList.indexOf(item)>-1||item!=temp&&sameList.indexOf(temp)==-1;
|
||||
return sameList.includes(item)||item!=temp&&!sameList.includes(temp);
|
||||
}).filter((item,idx,arr) => arr.indexOf(item) === idx);
|
||||
};
|
||||
|
||||
@ -212,20 +212,20 @@ export function getSelectors(str){
|
||||
var num = zh2number(match[0]);
|
||||
for(var i in _data){
|
||||
var r_i = i.replace(/(,[hw])$/,'&'+num+'$1').replace(/([^hw]+)$/,'$1&'+num);
|
||||
if(_data[i].indexOf(x_name)>-1){
|
||||
if(_data[i].includes(x_name)){
|
||||
x_items.push(r_i);
|
||||
}else if(_data[i].indexOf(r_name)>-1){
|
||||
}else if(_data[i].includes(r_name)){
|
||||
if(!i.match(/^[mf,]+$/)&&!r_name.match(/^[从世]/)){ // 直系祖辈不参与排序
|
||||
r_items.push(r_i);
|
||||
}
|
||||
}
|
||||
if(_data[i].indexOf(name)>-1){
|
||||
if(_data[i].includes(name)){
|
||||
items.push(r_i);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
for(var i in _data){
|
||||
if(_data[i].indexOf(name)>-1){
|
||||
if(_data[i].includes(name)){
|
||||
items.push(i);
|
||||
}
|
||||
}
|
||||
@ -354,7 +354,7 @@ export function selector2id(selector,sex){
|
||||
if(!selector.match(/^,/)){
|
||||
selector = ','+selector;
|
||||
}
|
||||
if(sex>-1&&selector.indexOf(',1')==-1&&selector.indexOf(',0')==-1){
|
||||
if(sex>-1&&!selector.includes(',1')&&!selector.includes(',0')){
|
||||
selector = ','+sex+selector;
|
||||
}
|
||||
if(selector.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/)){ //同志关系去除
|
||||
@ -369,7 +369,7 @@ export function selector2id(selector,sex){
|
||||
var item = _filter[i];
|
||||
// console.log('[filter]',item['exp'],selector);
|
||||
selector = selector.replace(item['exp'],item['str']);
|
||||
if(selector.indexOf('#')>-1){
|
||||
if(selector.includes('#')){
|
||||
selector.split('#').forEach(getId);
|
||||
return false;
|
||||
}
|
||||
@ -475,7 +475,7 @@ export function getItemsById(id){
|
||||
var gen = getGen(id);
|
||||
if(gen<3&&!id.match(/[hw],/)){
|
||||
_data[id].forEach(function(name){
|
||||
if(!item&&name.indexOf('几')>-1){
|
||||
if(!item&&name.includes('几')){
|
||||
item = name.replace('几',zh);
|
||||
}
|
||||
});
|
||||
@ -545,10 +545,10 @@ export function getPairsByIds(id1,id2){
|
||||
var list2_r = list2.map(function(selector){
|
||||
return selector.replace(/&[ol\d]+/,'').replace(/([ol])([bs])/,'x$2');
|
||||
});
|
||||
if(list1.indexOf(id1)>-1&&list2.indexOf(id2)>-1||list1.indexOf(id2)>-1&&list2.indexOf(id1)>-1){
|
||||
if(list1.includes(id1)&&list2.includes(id2)||list1.includes(id2)&&list2.includes(id1)){
|
||||
result.push(_pair[key][0]);
|
||||
}
|
||||
if(list1_r.indexOf(id1_r)>-1&&list2_r.indexOf(id2_r)>-1||list1_r.indexOf(id2_r)>-1&&list2_r.indexOf(id1_r)>-1){
|
||||
if(list1_r.includes(id1_r)&&list2_r.includes(id2_r)||list1_r.includes(id2_r)&&list2_r.includes(id1_r)){
|
||||
result_r.push(_pair[key][0]);
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ export default {
|
||||
'w,m#d,h':['母婿'],
|
||||
'h,f#s,w':['翁媳'],
|
||||
'h,m#s,w':['婆媳'],
|
||||
'f,f#s,[s|d]':['公孙'],
|
||||
'[f|m],[f|m]#[s|d],[s|d]':['祖孙'],
|
||||
'f,[xb|xb,w]#xb,[s|d]':['叔侄'],
|
||||
'f,[xs|xs,h]#xb,[s|d]':['姑侄'],
|
||||
|
Loading…
x
Reference in New Issue
Block a user