Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 我的功能有一个问题,我可以';我好像没办法。现在,它说不能读取属性';拆分';在joinslot处未定义的_Javascript_Arrays_Function_Error Handling - Fatal编程技术网

Javascript 我的功能有一个问题,我可以';我好像没办法。现在,它说不能读取属性';拆分';在joinslot处未定义的

Javascript 我的功能有一个问题,我可以';我好像没办法。现在,它说不能读取属性';拆分';在joinslot处未定义的,javascript,arrays,function,error-handling,Javascript,Arrays,Function,Error Handling,我使用的函数是 function joinslots(freeTimings){ joined=[]; if(freeTimings.length==1){ joined.push(freeTimings); } if(freeTimings.length>1){ for(i=0;i<=freeTimings.length;){ //console.log(freeTimings[i]); tim

我使用的函数是

function joinslots(freeTimings){
    joined=[];
    if(freeTimings.length==1){
        joined.push(freeTimings);
}
    if(freeTimings.length>1){
        for(i=0;i<=freeTimings.length;){
        //console.log(freeTimings[i]);
        time0=freeTimings[i].split("-");
        first0=time0[0];
        last0=time0[1];
        time1=freeTimings[i+1].split("-");
        first1=time1[0];
        last1=time1[1];
        if(last0==first1){
            newfirst=first0;
            newlast=last1;
            newtime = newfirst+"-"+newlast;
            joined.push(newtime);
            if(i+2<freeTimings.length){
            time2=freeTimings[i+2]
            first2=time2[0];
            last2=time2[1];
            if(first2==last1){
                 i=i+2;
            }
            else i++;
            }
            else i+=2;
        }
        else{
            joined.push(freeTimings[i]);
            i++;
        }  
        if(i==freeTimings.length-1){
            joined.push(freeTimings[i-1]);
            break;
        }      

    }

    }
    return joined;    



}
返回的值必须为

joined=["8:00-9:00","9:00-9:30","12:00-13:00","13:00-14:00","14:00-14:30","15:30-16:30","17:30-18:00"]

因此,如果您能帮助修复我的函数,我们将不胜感激:)

Write method
slotMerge
检查两个时间字符串是否可以合并。如果可以合并,则返回合并的插槽,否则返回空字符串

使用此方法,遍历阵列并将合并或未合并的插槽推入输出阵列

这有什么帮助

const freeTimings=[
"8:00-8:30",
"8:30-9:00",
"9:00-9:30",
"12:00-12:30",
"12:30-13:00",
"13:00-13:30",
"13:30-14:00",
"14-14:30",
"15:30-16:00",
"16:00-16:30",
"17:30-18:00"
];
const joinSlots=数据=>{
常量slotMerge=(str1,str2)=>{
常量[start1,end1]=str1.split(“-”);
常量[start2,end2]=str2.split(“-”);
返回end1==start2?`${start1}-${end2}`:“”;
};
常量输出=[];
设prev=data[0];
for(设i=1;i
joined=["8:00-9:00","9:00-9:30","12:00-13:00","13:00-14:00","14:00-14:30","15:30-16:30","17:30-18:00"]