如何将字符串数组传递给 javascript 中的 Date 函数?

How to pass an array of strings to Date function in javascript?

我需要从日期中获取日期的名称。为此,我使用日期方法编写了一个函数(getDayName)。

我想将日期从 JSON 传递到日期方法。但结果我变得不确定。我观察到的是传递一个包含两个字符串的数组。我需要做的是一次将一个字符串传递给日期方法。这是我的代码。有人可以帮助我吗?

//get day name from date

const array = [{
    name: 'Dwayne Langer',
    birthdate: '06-03-2001'
},
{
    name: 'Doffer Henry',
    birthdate: '06-01-2005'
}]

const getBirthDate = array.map(function (birth) {
    return birth.birthdate; 
});
console.log("BirthDate", getBirthDate) 
// BirthDate (2) ['06-03-2001', '06-01-2005']

const dayIndex = new Date(getBirthDate).getDay();
const getDayName = (dayIndex) =>{
    const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    return days[dayIndex];
}
const dayName = getDayName(dayIndex)
console.log("Day Name",dayName);
// Day Name undefined

Date 的构造函数只接受一个字符串作为参数,所以您实际上要做的是遍历人员数组并为每个人获取生日,然后获取星期几。

这是我的解决方案:

    //get day name from date

const array = [
  {
    name: 'Dwayne Langer',
    birthdate: '06-03-2001'

  },
  {
    name: 'Doffer Henry',
    birthdate: '06-01-2005'
  }
]

const getBirthDate = (person) => person.birthdate;

const getDayName = (dayIndex) =>{
  const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
  return days[dayIndex];
}

array.forEach(person => {
    console.log("Day Name", getDayName(new Date(getBirthDate(person)).getDay()));
})