按照 JavaScript 中的出生日期查找生命灵数


生命灵数

个人的生命灵数是通过将此人出生日期中的每个数字相加计算得出,直到缩减为一个单独的个位数。

问题

我们需要编写一个 JavaScript 函数,该函数采用“yyyy-mm-dd”格式的日期,并返回该出生日期的生命灵数。

例如,

如果此日期为:1999-06-10

year : 1 + 9 + 9 + 9 = 28 → 2 + 8 = 10 → 1 + 0 = 1
month : 0 + 6 = 6
day : 1 + 0 = 1
result: 1 + 6 + 1 = 8

示例

以下是代码 −

 现场演示

const date = '1999-06-10';
const findLifePath = (date = '') => {
   const sum = (arr = []) => {
      if(arr.length === 1){
         return +arr[0]
      };
      let total = arr.reduce((acc, val) => acc + val);
      if (total < 10){
         return total
      };
      return sum(String(total).split("").map(Number));
   };
   let [year, month, day] = date.split("-")
   year = sum(String(year).split("").map(Number));
   month = sum(String(month).split("").map(Number));
   day = sum(String(day).split("").map(Number));
   return sum([year,month,day]);
};
console.log(findLifePath(date));

输出

以下是控制台输出 −

8

更新日期:19-4-2021

370 次浏览

开启您的 职业

完成课程获得认证

开始
广告