Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาเลขปัจจัยชีวิตจากวันเกิดใน JavaScript


เลขปัจจัยชีวิต (Life Path Number)

เลขปัจจัยชีวิตของบุคคลคำนวณโดยการบวกตัวเลขแต่ละตัวในวันเกิด จนเหลือเลขหลักเดียว

ปัญหา

เราต้องเขียนฟังก์ชัน 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