头图

大家好,我是 Java陈序员

由于为了生活奔波,常年在外,导致很多关系稍疏远的亲戚之间来往并不多。

因此节假日回家时,往往会搞不清楚哪位亲戚应该喊什么称呼,很容易“社死”。

今天给大家介绍一个亲戚关系计算器,让你快速的计算出正确的亲戚称谓!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

relationship —— 中国亲戚关系计算器,只需简单的输入即可算出称谓。

输入框兼容了不同的叫法,你可以称呼父亲为:“老爸”、“爹地”、“老爷子”等等,方便不同地域的习惯叫法。

快捷输入按键,只需简单的点击即可完成关系输入,算法还支持逆向查找称呼哦~

功能特色:

  • 使用别称查询:姥姥的爸爸的老窦 = 外曾外曾祖父
  • 使用合称查询:姐夫的双亲 = 姊妹姻父 / 姊妹姻母
  • 大小数字混合查询:大哥的二姑妈的七舅姥爷 = 舅曾外祖父
  • 不限制祖辈孙辈跨度查询:舅妈的婆婆的外甥的姨妈的侄子 = 舅表舅父
  • 根据年龄推导可能性:哥哥的表姐 = 姑表姐 / 舅表姐
  • 根据语境确认性别:老婆的女儿的外婆 = 岳母
  • 支持古文式表达:吾父之舅父 = 舅爷爷
  • 解析某称谓关系链:七舅姥爷 = 妈妈的妈妈的兄弟
  • 算两个亲戚间的合称关系:奶奶 + 外婆 = 儿女亲家

项目地址:

https://github.com/mumuy/relationship

在线体验:

https://passer-by.com/relationship/

移动端体验地址:

https://passer-by.com/relationship/vue/

功能体验

1、关系找称呼

2、称呼找关系

3、两者间关系

4、两者的合称

安装使用

1、直接引入安装

<script src="https://passer-by.com/relationship/dist/relationship.min.js">

获取全局方法 relationship.

2、使用 npm 包管理安装

安装依赖:

npm install relationship.js

包引入:

// CommonJS 引入
const relationship = require("relationship.js");
// ES Module 引入
import relationship from 'relationship.js';

3、使用方法:唯一的计算方法 relationship.

  • 选项模式 relationship(options)

    构造函数:

    var options = {
        text:'',        // 目标对象:目标对象的称谓汉字表达,称谓间用‘的’字分隔
        target:'',        // 相对对象:相对对象的称谓汉字表达,称谓间用‘的’字分隔,空表示自己
        sex:-1,            // 本人性别:0表示女性,1表示男性
        type:'default',    // 转换类型:'default'计算称谓,'chain'计算关系链,'pair'计算关系合称
        reverse:false,    // 称呼方式:true对方称呼我,false我称呼对方
        mode:'default',    // 模式选择:使用setMode方法定制不同地区模式,在此选择自定义模式
        optimal:false,  // 最短关系:计算两者之间的最短关系
    };

    代码示例:

    // 如:我应该叫外婆的哥哥什么?
    relationship({text:'妈妈的妈妈的哥哥'});
    // => ['舅外公']
    
    // 如:七舅姥爷应该叫我什么?
    relationship({text:'七舅姥爷',reverse:true,sex:1});
    // => ['甥外孙']
    
    // 如:舅公是什么亲戚
    relationship({text:'舅公',type:'chain'});
    // => ['爸爸的妈妈的兄弟', '妈妈的妈妈的兄弟', '老公的妈妈的兄弟']
    
    // 如:舅妈如何称呼外婆?
    relationship({text:'外婆',target:'舅妈',sex:1});
    // => ['婆婆']
    
    // 如:外婆和奶奶之间是什么关系?
    relationship({text:'外婆',target:'奶奶',type:'pair'});
    // => ['儿女亲家']
  • 语句模式 relationship(exptession)

    参数 exptession 句式可以为:xxx是xxx的什么人、xxx叫xxx什么、xxx如何称呼xxx等。

    代码示例:

    // 如:舅妈如何称呼外婆?
    relationship('舅妈如何称呼外婆?');
    // => ['婆婆']
    
    // 如:外婆和奶奶之间是什么关系?
    relationship('外婆和奶奶之间是什么关系?');
    // => ['儿女亲家']

4、其他 API

// 获取当前数据表 
relationship.data

// 获取当前数据量 
relationship.dataCount

// 用户自定义模式 
relationship.setMode(mode_name,mode_data)

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

Java陈序员
61 声望8 粉丝