Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在多个日期分发事件_Javascript_C_React Native_Matrix - Fatal编程技术网

Javascript 在多个日期分发事件

Javascript 在多个日期分发事件,javascript,c,react-native,matrix,Javascript,C,React Native,Matrix,您好,我有一个日历视图(3天视图),我必须在3天视图中显示多天事件。我无法生成事件矩阵 3/10/18 | 4/10/18 | 5/10/18 3.......|3........|9....... ........|5........|5....... 7.......|7........|........ 3、5、9。。。。和7。。。。是在3×3矩阵中分层的多个日期事件 一般的事件结构是这样的 { id: 123, name: "3", startTimestamp:

您好,我有一个日历视图(3天视图),我必须在3天视图中显示多天事件。我无法生成事件矩阵

3/10/18 | 4/10/18 | 5/10/18
3.......|3........|9.......
........|5........|5.......
7.......|7........|........
3、5、9。。。。和7。。。。是在3×3矩阵中分层的多个日期事件

一般的事件结构是这样的

{ id: 123, name: "3", startTimestamp: 1538524800 endTimestamp: 1538611200 }
我试过:-

  • 循环日期并为每个日期查找该日期内的事件

  • 查找每个日期和事件的矩阵

    但我无法将日期中的事件对齐,如3个事件在[0][0]和[0][1]对齐,5个事件在[1][1]和[1][2]对齐

  • 此外,我在[0][2]中的空白处添加9时遇到问题。我正在对每一列进行索引,而[2][2]中的空白处只剩下9

    这是我当前的代码片段

    let events = [{ id: 3, name: "3", start: 3, end: 4}, { id: 5, name: "5", start: 4, end: 5}, { id: 7, name: "7", start: 3, end: 4}, { id: 9, name: "9", start: 5, end: 9}];
    
    let dates = [3, 4, 5];
    
    function abc1 () {
     let result = [
      [
       undefined, undefined, undefined
      ], [
       undefined, undefined, undefined
      ], [
       undefined, undefined, undefined
      ]
     ];
     for (let i=0; i<dates.length; i++) {
      let date = dates[i];
      let index = 0;
      for (let j=0; j<events.length; j++) {
       let event = events[j];
       if (event.start<= date && date <= event.end) {
        result[index][i] = event.id;
        index ++;
       }
      }
     }
     console.log("Result ", result);
    };
    
    Result  [[3, 3, 5], [7, 5, 9], [undefined, 7, undefined]]
    
    let events=[{id:3,name:3,start:3,end:4},{id:5,name:5,start:4,end:5},{id:7,name:7,start:3,end:4},{id:9,name:9,start:5,end:9}];
    让日期=[3,4,5];
    函数abc1(){
    让结果=[
    [
    未定义,未定义,未定义
    ], [
    未定义,未定义,未定义
    ], [
    未定义,未定义,未定义
    ]
    ];
    
    对于(设i=0;i您尝试过三维数组吗?

    struct EventsModel{
    
    struct EventsModel {
        var id:Int
        var name: String
        var start:Int
        var end:Int
    }
    let events = [EventsModel(id: 3, name: "3", start: 3, end: 4), EventsModel(id: 5, name: "5", start: 4, end: 5 ), EventsModel(id: 7, name: "7", start: 3, end: 4), EventsModel(id: 9, name: "9", start: 5, end: 9)]
    
    var dates:[Int] = [3, 4, 5]
    var finaloutput:[[String]] = []
    dates = dates.sorted()
    for event in events {
        var outEventArr:[String] = []
        for date in dates {
            if date >= event.start && date <= event.end {
                outEventArr.append(event.name)
            } else {
                outEventArr.append("undefined")
            }
        }
        finaloutput.append(outEventArr)
    }
    print(finaloutput)
    
    变量id:Int 变量名称:String 变量开始:Int 变量结束:Int } 让事件=[EventsModel(id:3,名称:“3”,开始:3,结束:4),EventsModel(id:5,名称:“5”,开始:4,结束:5),EventsModel(id:7,名称:“7”,开始:3,结束:4),EventsModel(id:9,名称:“9”,开始:5,结束:9)] 变量日期:[Int]=[3,4,5] var finaloutput:[[String]]=[] dates=dates.sorted() 事件中的事件{ var outEventArr:[字符串]=[] 日期中的日期{
    如果date>=event.start&&date,我在x轴上有天,在y轴上有事件。我不需要三维矩阵。请帮助使用二维矩阵。在z轴上可以添加事件。它很容易处理…如果您需要困难的方法,请回复。事件在y轴上(不在z轴上)。请检查2d矩阵的任何解决方案。预期输出是什么?预期输出是:[[3,3,9],[undefined,5,5],[7,7,undefined];