Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm số đường đời dựa trên ngày sinh trong JavaScript

Số đường đời

Số đường đời của một người được tính bằng cách cộng từng số riêng lẻ trong ngày sinh của người đó, cho đến khi số đó được rút gọn thành một chữ số.

Vấn đề

Chúng tôi bắt buộc phải viết một hàm JavaScript nhận ngày tháng ở định dạng “yyyy-mm-dd” và trả về số đường đời cho ngày sinh đó.

Ví dụ,

nếu ngày là: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

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

8