Javascript 匹配数组和返回值

Javascript 匹配数组和返回值,javascript,jquery,arrays,Javascript,Jquery,Arrays,所以我正在学习JavaScript/jQuery,我需要一些帮助 基本上我有一个数组,从下面的Excel表转换而来 Name太阳周一周二周三周四周五周六 约翰x 21:00 21:00 21:00 21:00 x 史密斯x 19:4519:4519:4519:4519:4519:45X 保罗x 19:45 19:45 19:45 19:45 19:45 19:45 11:00 “姓名”、“太阳”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”, “约翰”、“x”、“21:00”、“

所以我正在学习JavaScript/jQuery,我需要一些帮助

基本上我有一个数组,从下面的Excel表转换而来

Name太阳周一周二周三周四周五周六
约翰x 21:00 21:00 21:00 21:00 x
史密斯x 19:4519:4519:4519:4519:4519:45X
保罗x 19:45 19:45 19:45 19:45 19:45 19:45 11:00
“姓名”、“太阳”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”,
“约翰”、“x”、“21:00”、“21:00”、“21:00”、“21:00”、“21:00”、“21:00”、“x”,
“史密斯”,“x”,“19:45”,“19:45”,“19:45”,“19:45”,“19:45”,“19:45”,“x”,
“保罗”,“x”,“19:45”,“19:45”,“19:45”,“19:45”,“19:45”,“19:45”,“11:00”
我想要的是:

当输入“John,Monday”或“John,27/02/2017”时,函数将返回“21:00”


非常感谢您提供的任何示例代码,因为我对这方面还比较陌生

我认为如果您重新构建数据,会更容易

const data = {
  John: [
      'x',
      '21:00',
      '21:00',
      '21:00',
      '21:00',
      '21:00',
      'x',
  ],
  Smith: [
    'x',
    '19:45',
     '19:45',
    '19:45',
    '19:45',
    '19:45',
    'x',
  ],
  Paul: [
    'x',
    '19:45',
    '19:45',
    '19:45',
    '19:45',
    '19:45',
    '11:00',
  ],
}
该数组用于自日期起每天的值。getDay()基于日期返回0..6。(0=星期日等)

在JavaScript中,对象可以被视为字典,您可以使用
[]
符号访问它们

const name = 'John';
const dayIndex = new Date('02/28/2017').getDay();
const result = data[name][dayIndex]; // result = 21:00

假设您可以将数据行转换为数组(注意,我更改了测试的分钟数)

var-dat=[“姓名”、“太阳”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”,
“约翰”、“x”、“21:00”、“21:00”、“21:00”、“21:00”、“21:00”、“21:00”、“x”,
“史密斯”,“x”,“19:45”,“19:45”,“19:45”,“19:45”,“19:45”,“19:45”,“x”,
“保罗”、“x”、“19:45”、“19:45”、“19:45”、“19:45”、“19:45”、“19:45”、“11:00”];
var数据=[];
对于(变量i=1;igetIt(“John”,新日期())错误。。。你的问题是“如何将日期转换为一周中的某一天?”哈哈,不,对不起,我将编辑该问题,我可能添加了太多内容,我的问题是如何获取输入值,如果我输入“John”和日期,函数应返回与名称John关联的行中的时间,mon应返回21:00您如何知道数据从2017年2月27日开始?或者你只是从数组中获取星期几并获取值吗?@Jules让我解释一下,最初我有一个excel表,后来我将其转换为javascript数组,数据没有任何日期,只有天、星期一、星期二等列,时间也固定,现在用户将输入他的姓名和随机日期(2017年2月27日)固定格式,date的唯一用途是转换为day,然后函数根据day检查他的姓名并告诉时间,如“John Teague”回答哪个有效,但表格有100行,因此我在示例中使用了在线转换器来转换数据,因此他的方法也需要手动操作。请阅读。关键短语:“搜索、研究”和“解释……任何阻碍你自己解决问题的困难”“.Hey jules,我尝试了你的代码,但我似乎无法让它工作,不同的错误不断出现,我会尽力修复它,但是,你能再看一看吗?顺便说一句,我正在使用JSFIDLE。@Cyb3rHac3r,错误消息是什么?你能分享你的JSFIDLE吗?”?