Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
Display name value based on specific days

I have an input like this: var names = ["Ram","Shyam","Neel","Nik"]; I need to display these names in a table which will be tagged against Weekend, for Ex:

Name table

Points: -This table will keep generating the names for weekends month by month. Here is the tried code but it is not generating any result. Not sure what mistake i have made.

I am quite new to JS and tried below code, Need some help here: https://www.jdoodle.com/h/1IW

Here is the Code snippet:

const is_weekend = function(dt){
        if(dt.getDay() == 6 || dt.getDay() == 0) return true;
        else false;
    }

var array = ["Tom","Taylor","Nick","John"];
var currArrIndex = 0;

var start = new Date(); //current date
var end = new Date(start.getFullYear(), start.getMonth()+1, 0); //last date of the month
var rows = Array();
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]


var currDate = start;
console.log(currDate);
while(currDate <= end){
    //alert(currDate);   
    console.log(currDate);
    if(is_weekend(currDate)){ //if the date is a weekend date
        let dayName = days[currDate.getDay()]; //get week day of the current date
        let rowElement = {
            name : array[currArrIndex], //set one of the names from array from first to last
            day : dayName,
            date : currDate.toLocaleDateString()
        }
        rows.push(rowElement);
        if(currDate.getDay() == 0){ //change after every week
            currArrIndex ++; //current index array name is already assigned to last weekend, hence move to next array name
            currArrIndex %= array.length; //if current index goes beyond array length resign to 0
        }
    }

    var newDate = currDate.setDate(currDate.getDate() + 1);
    currDate = new Date(newDate);
}

var html = "<table border='1|1'>";
for (var i = 0; i < rows.length; i++) {
    let htmlElement = `
    <tr>
    <td>${rows[i].name}</td>
    <td>${rows[i].day}</td>
    <td>${rows[i].date}</td>
    </tr>`;
    html+=htmlElement;

}
html+="</table>";
document.getElementById("box").innerHTML = html;
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

I wrote similar to this before. I edited it according to your output. Hopefully it works.

var list =[];
var persons = ["Ram","Shyam","Neel","isa","test","caglar"];
var start = new Date();
var end = new Date("2021-12-02");
var rows = [];

function test(){
    var fillCount = 0; 
    var listCount = 0;
    for (var d = start; d <= end; d.setDate(d.getDate() + 1)) {
        if(listCount == persons.length) break;
        var currdate = new Date(d);
        var dayOfWeek = currdate.getDay();
        if((dayOfWeek === 6) || (dayOfWeek  === 0)) // 6 = Saturday, 0 = Sunday
        {
           if(fillCount < 2)
           {
               console.log({"Dates": currdate.toLocaleDateString(), "Name":  persons[listCount], "Day" : currdate.toLocaleDateString("en-EN", { weekday: 'long' }) });
               list.push({"Dates": currdate.toLocaleDateString(), "Name":  persons[listCount], "Day" : currdate.toLocaleDateString("en-EN", { weekday: 'long' })  }); 
               fillCount++;

               if(fillCount == 2)  
                {
                   fillCount = 0;
                   listCount++;       
                }        
           }
        }
    }
}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!