Finding life path number based on a date of birth in JavaScript

A person's Life Path Number is calculated by adding each individual digit in that person's date of birth, then reducing it to a single digit number through repeated digit summation.

Problem

We need to write a JavaScript function that takes a date in "yyyy-mm-dd" format and returns the life path number for that date of birth.

How It Works

The calculation involves three steps:

  1. Sum all digits in the year, month, and day separately
  2. Reduce each sum to a single digit by adding digits repeatedly
  3. Add the three single digits and reduce to final single digit

For example, if the date is: 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

Example

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

Step-by-Step Example

const calculateLifePath = (dateString) => {
    const [year, month, day] = dateString.split('-');
    
    // Helper function to reduce to single digit
    const reduceToSingleDigit = (num) => {
        while (num >= 10) {
            num = String(num).split('').reduce((sum, digit) => sum + parseInt(digit), 0);
        }
        return num;
    };
    
    // Calculate for each component
    const yearSum = reduceToSingleDigit(year.split('').reduce((sum, digit) => sum + parseInt(digit), 0));
    const monthSum = reduceToSingleDigit(month.split('').reduce((sum, digit) => sum + parseInt(digit), 0));
    const daySum = reduceToSingleDigit(day.split('').reduce((sum, digit) => sum + parseInt(digit), 0));
    
    console.log(`Year ${year}: ${yearSum}`);
    console.log(`Month ${month}: ${monthSum}`);
    console.log(`Day ${day}: ${daySum}`);
    
    // Final calculation
    const lifePathNumber = reduceToSingleDigit(yearSum + monthSum + daySum);
    return lifePathNumber;
};

console.log("Life Path Number:", calculateLifePath('1999-06-10'));
Year 1999: 1
Month 06: 6
Day 10: 1
Life Path Number: 8

Testing Multiple Dates

const dates = ['1990-12-25', '2000-01-01', '1985-07-15'];

dates.forEach(date => {
    console.log(`Date: ${date}, Life Path: ${findLifePath(date)}`);
});
Date: 1990-12-25, Life Path: 2
Date: 2000-01-01, Life Path: 4
Date: 1985-07-15, Life Path: 9

Conclusion

The Life Path Number calculation involves recursive digit summation until a single digit is achieved. This numerological concept is implemented efficiently using JavaScript's string and array methods for digit extraction and summation.

Updated on: 2026-03-15T23:19:00+05:30

537 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements