Javascript 用字符串匹配数组

Javascript 用字符串匹配数组,javascript,arrays,Javascript,Arrays,我想写一个简单的脚本来显示生日和命名日的祝贺。目标是 1) 今天就开始吧。 2) 将员工数据存储在数组中。 3) 如果某个员工的名字与变量nameday匹配,那么写一封祝贺信。请注意,在这一天,更多的名字可以庆祝命名日,那么所有员工都必须接受祝贺。 4) 同样的生日,更多的人可以在同一天庆祝生日。 5) 如果姓名/日期与我们的员工名单不匹配,则不执行任何操作 这是我写的 var today = new Date(); var dayMonth = new Date(); var day = to

我想写一个简单的脚本来显示生日和命名日的祝贺。目标是

1) 今天就开始吧。 2) 将员工数据存储在数组中。 3) 如果某个员工的名字与变量nameday匹配,那么写一封祝贺信。请注意,在这一天,更多的名字可以庆祝命名日,那么所有员工都必须接受祝贺。 4) 同样的生日,更多的人可以在同一天庆祝生日。 5) 如果姓名/日期与我们的员工名单不匹配,则不执行任何操作

这是我写的

var today = new Date();
var dayMonth = new Date();
var day = today.getDate();
var month = today.getMonth()+1;
var year = today.getFullYear();

today = day +'. '+ month+'. '+ year;
dayMonth = day +'. '+ month+'.';

var employees = [
  ["Frank", "Jagger", "6. 10.", "1984"],
  ["Ringo", "Lennon", "6. 10.", "1983"],
  ["John", "Star", "4. 10", "1962"],
  ["Mick", "Sinatra", "4. 10", "1961"]
 ];


var nameday;
var age = employees - year;
var employeesName;

switch (dayMonth) {
  case"6. 10.": nameday = "Frank, Ringo, Steve"; break;
  default: nameday = 0;
}


if (employees === nameday) {
  document.write("' + employeesName + ' and ' + employeesName + ' nameday today. Congratulation!")
}

if (dayMonth === nameday) {
  document.write("John Star is ' + age + ' tady and Mick Sinatra is ' + age + ' today. Congratulation!")
}
我知道代码的结尾是错误的,但如何从数组中获取正确的数据呢?如何访问所有名字,然后将其与数组匹配


codepen

我会将您的员工数组转换为一个对象,该对象每天都保存一个员工数组

然后,您可以通过获取此对象中的日期道具来获取员工的生日列表

下面是它的工作原理:

var员工=[
[“测试”,“人”,“7.10”,“1234”],
[“弗兰克”,“贾格尔”,“6.10.”,“1984”],
[“林戈”,“列侬”,“6.10.”,“1983”],
[“约翰”、“明星”、“4.10”、“1962”],
[“米克”、“西纳特拉”、“4.10”、“1961”]
];
//创建生日概述
var birthdayOverview=employees.reduce(函数(obj,employeen){
var生日=员工[2];
obj[生日]=obj[生日]| |[];
obj【生日】。推送(员工);
返回obj;
}, {});
//查找今天的生日:
var today=新日期();
var currentDay=today.getDate();
var currentMonth=today.getMonth()+1;
var currentDateFormatted=currentDay+'.+当前月份+';
var birthdayToday=birthdayOverview[currentDateFormatted];
console.log(生日今天)