复杂版:

// 定义出生年,生肖

let year = 2001;

let animal = [ '鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪'];

//定义与2008相差的年份

let differ_year;

//接收生肖

let sx;

//定义星座数组

let constellation = ['水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座'];

//定义中间值接收星座

let cn;

// 定义出生月

let month = 3;

// 定义出生日

let day = 24;

if (year >= 2008) {

//如果出生年份大于2008(鼠)时

differ_year = year - 2008;

//如果相差年份在12以内

if(differ_year < 12){

sx = animal[differ_year];

}else{

sx = animal[differ_year % 12];

}

//如果出生年份小于2008(鼠)时

} else {

differ_year = 2008 - year;

//在2008年之前相差年份所对应的生肖下标是相反的,故减12

if(differ_year < 12){

sx = animal[12-differ_year];

}else{

sx = animal[12-differ_year % 12];

}

}

switch(month){

case 1:

if(day <= 19 ){

//摩羯座

cn = constellation[11];

}else if(day <= 31){

// 水瓶座

cn = constellation[0];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 2:

if(day <= 18){

// 水瓶座

cn = constellation[0];

}else if(day <= 29){

//双鱼座

cn = constellation[1];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 3:

if(day <= 20){

// 双鱼座

cn = constellation[1];

}else if(day <= 31){

// 白羊座

cn = constellation[2];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 4:

if (day <= 19) {

// 白羊座

cn = constellation[2];

} else if (day <= 30){

// 金牛座

cn = constellation[3];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 5:

if (day <= 20){

// 金牛座

cn = constellation[3];

} else if(day <= 31){

// 双子座

cn = constellation[4];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 6:

if (day <= 21){

// 双子座

cn = constellation[4];

}else if(day <= 30 ){

// 巨蟹座

cn = constellation[5];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 7:

if (day <= 22){

// 巨蟹座

cn = constellation[5];

} else if(day <= 31){

// 狮子座

cn = constellation[6];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 8:

if (day <= 22){

// 狮子座

cn = constellation[6];

}else if(day <= 31){

// 处女座

cn = constellation[7];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 9:

if(day <= 22){

// 处女座

cn = constellation[7];

}else if(day <= 30){

// 天秤座

cn = constellation[8];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 10:

if(day <= 23){

// 天秤座

cn = constellation[8];

}else if(day <= 31){

// 天蝎座

cn = constellation[9];

}

break;

case 11:

if(day <= 23){

// 天蝎座

cn = constellation[9];

}else if(day <= 30){

// 射手座,

cn = constellation[10];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

case 12:

if(day <= 21){

// 射手座

cn = constellation[10];

}else if(day <= 31){

// 摩羯座

cn = constellation[11];

}else{

//无效的日份

console.log(`这是无效的日份!!`);

}

break;

default:

console.log(`这是无效的月份!!`);

break;

}

console.log(`${year}年${month}月${day}日出生的生肖是${sx},星座是${cn}`);

精简版:

// 定义生肖数组

let animal = ['猴','鸡','狗','猪','鼠','牛','虎','兔','龙','蛇','马','羊'];

// 定义星座数组

let constellation = [,

['摩羯座','水瓶座'],    //1、 19 20

['水瓶座','双鱼座'],    //2、 18 19

['双鱼座','白羊座'],    //3、 20 21

['白羊座','金牛座'],    //4、 19 20

['金牛座','双子座'],    //5、 20 21

['双子座','巨蟹座'],    //6、 21 22

['巨蟹座','狮子座'],    //7、 22 23

['狮子座','处女座'],    //8、 22 23

['处女座','天秤座'],    //9、 22 23

['天秤座','天蝎座'],    //10、23 24

['天蝎座','射手座'],    //11、22 23

['射手座','摩羯座']     //12、21 22

];

// 定义星座分割日数组

let cn_day = [,19,18,20,19,20,21,22,22,22,23,22,21];

// 年

let year = 1901;

// 月

let month = 3;

// 日

let day = 24;

//接收下标

let x;

if(day > cn_day[month]) {

x = 1;

}else{

x = 0;

}

console.log(`生日${year}年${month}月${day}日的生肖为${animal[year % 12]},星座为${constellation[month][x]}`);

注意数组中的字符串类型元素一定要记得加单引号

js根据生日输出对应的生肖和星座相关推荐

  1. java生日显示生肖星座_根据生日或者日期 获取 生肖和星座的 Java代码

    public class DateUtil { public static final String[] zodiacArr = { "猴", "鸡", &qu ...

  2. html列表逆序输出,JS实现倒序输出的几种常用方法示例

    主要介绍了JS实现倒序输出的几种常用方法,结合实例形式分析了JavaScript字符串与数组的转换.变量.分割.反转等相关操作技巧,需要的朋友可以参考下 本文实例讲述了JS实现倒序输出的几种常用方法. ...

  3. python 身份证号的有效性、生日(阴历阳历)、星座、生肖、性别、年龄、户籍所在地测试

    python 身份证号的有效性.生日(阴历阳历).星座.生肖.性别.年龄.户籍所在地测试 0x01 前言 0x02 身份证号码格式 0x03 地区 0x04 代码 0x05 效果 0x01 前言 本项 ...

  4. js在控制台输出菱形

    js在控制台输出菱形 以一个上半部分10行,下半部分9行的为例 var str = ""; //在控制台输出要采用字符串拼接,所以先定义一个空字符串for (var row = 1 ...

  5. 模仿百度js浏览器控制台输出图片+文字效果

    简介 模仿百度js浏览器控制台输出图片+文字效果 演示 代码 if (window.console) {var cons = console;if (cons) {cons.log("%c\ ...

  6. 通过js在控制台输出彩色字体和placeholder的样式设置(记录)

    通过js在控制台输出彩色字体 代码: var e = "%c";var n = "color:red;text-shadow:5px 5px 2px #fff, 5px ...

  7. js复习:输出语句,js要不要写标点符号,let ,const(常量),JavaScript 数组,JavaScript 对象

    js复习 1.输出语句 console.log() ,console.dir(),window.alert() 2.js要不要写标点符号? 3.let ,const(常量) 4.JavaScript ...

  8. python星座属相查询_python的生肖和星座计算函数

    项目需要用到根据生日计算出生肖和星座,网上搜罗一下,都写的不太好一堆判断很繁琐,于是就自己整了个 生肖函数:chinese_zodiac 设定1900年-1911年 为生肖的标尺,后面的年份取余计算, ...

  9. Java根据生日得出是十二星座的哪一个星座属相

    Java根据生日得出是十二星座的哪一个星座 方法一: public static String constellation(int month, int day) { String constella ...

最新文章

  1. vs2015 C#打包程序为exe
  2. openhub_介绍OpenHub框架
  3. 咕泡-模板方法 template method 设计模式笔记
  4. 利用CSS使元素在水平方向或水平,竖直同时居中
  5. STM32 IO口双向问题
  6. 前端图表生成利器--ECharts推荐
  7. spring整合mybatis(详细)
  8. Android 应用上线安卓市场
  9. 在web项目中使用Nginx搭建静态资源服务器,展示静态资源
  10. 反思: Google 为何把 SurfaceView 设计的这么难用?
  11. mysql实验训练2 数据查询操作_实验训练2:数据查询操作.doc
  12. SQL Server 2005数据库教程
  13. 一个女程序员twitter上发了一条tweet
  14. Python pandas 分层抽样 超简洁
  15. 国外团队推出Xenxo S-Ring智能戒指,伸出手指头就能买单和通话
  16. 庄子“知”问题的深入探讨(转载)
  17. No module named _lzma
  18. android手机连接PC无法正常安装驱动
  19. plc采用计算机结构如何理解,PLC课后习题答案
  20. Hadoop3.3.1详细教程(三)克隆样机+JDK安装

热门文章

  1. 推荐21款最佳 HTML 5 网页游戏
  2. windows下Python2.7 的 pyOpenGL模块安装
  3. python通用管理系统_Python实例---CRM管理系统分析180331
  4. docker 安装mysql8.0并且暴漏外部的连接
  5. java计算机毕业设计特色农产品供需销售系统源码+数据库+系统+lw文档+mybatis+运行部署
  6. 这么多年你还在怕正则吗?
  7. python导入随机库_怎么用python导入随机库?
  8. 安了锐捷后电脑总是弹出交互式检测
  9. Error 1924.Could not update environment variable FNL_LICENSE_NUMBER.  Verify that you have sufficien
  10. UVA 12905 Volume of Revolution (几何,微积分)