Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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_Arrays_For Loop_Multidimensional Array - Fatal编程技术网

Javascript 如何将三维数组分为三个部分进行循环?

Javascript 如何将三维数组分为三个部分进行循环?,javascript,arrays,for-loop,multidimensional-array,Javascript,Arrays,For Loop,Multidimensional Array,我正在尝试创建一个三维数组,如下所示: let insPerDay = [] let insDuringThisWeek = []; let insDuringThisWeek_temp = [[], [], [], [], [], [], []]; for (var i = 0; i < spaceIterationInsWeek.length; i++){ // this loop will r

我正在尝试创建一个三维数组,如下所示:

        let insPerDay = []
        let insDuringThisWeek = [];
        let  insDuringThisWeek_temp = [[], [], [], [], [], [], []]; 
        for (var i = 0; i < spaceIterationInsWeek.length; i++){
            // this loop will repeat a variable amount of times but in this example it repeats twice   
            for (let k=0; k<weekArray.length; k++) {
            // will repeat a variable amount of times but in this example it repeats 7 times    
                for (let j = 0; j < spaceIterationInsWeek[i].length; j ++) {
                // will repeat a variable amount of time (I think in this case it's 167 times, 104 the first loop, 63 the second);
                    if (spaceIterationInsWeek[i][j] > weekArray[k][0] && spaceIterationInsWeek[i][j] < weekArray[k][1]) {
                        insDuringThisWeek_temp[k].push(spaceIterationInsWeek[i][j]);    
                    }   
                } 
                insDuringThisWeek.push(insDuringThisWeek_temp[k]);                                     
            }     

             console.log(insDuringThisWeek.slice()); 
            insPerDay.push(insDuringThisWeek.slice());
            console.log(insPerDay);                
        // insDuringThisWeek.push(insDuringThisWeek_temp);                            
        }  
(2) [Array(7), Array(14)]
    > 0: (7) [Array(36), Array(23), Array(11), Array(0), Array(0), Array(87), Array(10)]
    > 1: (14) [Array(36), Array(23), Array(11), Array(0), Array(0), Array(87), Array(10), Array(36), Array(23), Array(11), Array(0), Array(0), Array(87), Array(10)]
现在阵列的总和如下所示:

        let insPerDay = []
        let insDuringThisWeek = [];
        let  insDuringThisWeek_temp = [[], [], [], [], [], [], []]; 
        for (var i = 0; i < spaceIterationInsWeek.length; i++){
            // this loop will repeat a variable amount of times but in this example it repeats twice   
            for (let k=0; k<weekArray.length; k++) {
            // will repeat a variable amount of times but in this example it repeats 7 times    
                for (let j = 0; j < spaceIterationInsWeek[i].length; j ++) {
                // will repeat a variable amount of time (I think in this case it's 167 times, 104 the first loop, 63 the second);
                    if (spaceIterationInsWeek[i][j] > weekArray[k][0] && spaceIterationInsWeek[i][j] < weekArray[k][1]) {
                        insDuringThisWeek_temp[k].push(spaceIterationInsWeek[i][j]);    
                    }   
                } 
                insDuringThisWeek.push(insDuringThisWeek_temp[k]);                                     
            }     

             console.log(insDuringThisWeek.slice()); 
            insPerDay.push(insDuringThisWeek.slice());
            console.log(insPerDay);                
        // insDuringThisWeek.push(insDuringThisWeek_temp);                            
        }  
(2) [Array(7), Array(14)]
    > 0: (7) [Array(36), Array(23), Array(11), Array(0), Array(0), Array(87), Array(10)]
    > 1: (14) [Array(36), Array(23), Array(11), Array(0), Array(0), Array(87), Array(10), Array(36), Array(23), Array(11), Array(0), Array(0), Array(87), Array(10)]
有没有一种方法可以使用三环路逻辑来实现这一点

SpaceIterationSweek的“复制/可复制”数据

  var spaceIterationInsWeek = [["1538032574112", "1538032574299", "1538032574489", "1538032574707", "1538032574958", "1538032580589", "1538032580744", "1538032583050", "1538035431634", "1538035432105", "1538044237902", "1538044253095", "1538089207793", "1538089207972", "1538089208184", "1538089209765", "1538089209935", "1538089210172", "1538140319898", "1538140320415", "1538393131974", "1538393132133", "1538393132301", "1538393134682", "1538419054736", "1538419056057", "1538419056445", "1538421078992", "1538423320582", "1538423324199", "1538423328179", "1538423331484", "1538423472877", "1538423584874", "1538423586801", "1538423604206", "1538423664249", "1538423668981", "1538423682914", "1538423691802", "1538423866031", "1538423867420", "1538423868327", "1538423875373", "1538424176251", "1538424179511", "1538424231217", "1538424283692", "1538424327861", "1538424327866", "1538424327868", "1538424327871", "1538424327877", "1538424327882", "1538424327884", "1538424327891", "1538424327896", "1538426250753", "1538426251268", "1538426251642", "1538428174561", "1538428174925", "1538428175168", "1538428179449", "1538428179612", "1538428185771", "1538428199625", "1538428204510", "1538428204700", "1538428204883", "1538497882619", "1538498290347", "1538498319612", "1538498370580", "1538498465625", "1538498510231"],["1538033851202", "1538035355166", "1538035355949", "1538035370713", "1538043037913", "1538043065714", "1538043065993", "1538043530533", "1538043531900", "1538043533828", "1538044225832", "1538089267124", "1538089267318", "1538089267543", "1538393117968", "1538393118102", "1538393118254", "1538393119966", "1538393120110", "1538393120362", "1538393120538", "1538393120722", "1538414187921", "1538414188175", "1538414188327", "1538414191291", "1538414191516", "1538424651376", "1538424672070", "1538424672073", "1538424672077", "1538424672080", "1538424673236", "1538424673238", "1538424673241", "1538424673244", "1538424679001", "1538424679010", "1538424679014", "1538424679017", "1538428236679", "1538428236846", "1538428237012", "1538428237172", "1538428237341", "1538428237491", "1538428237649", "1538428237816", "1538428237982", "1538428238159", "1538428238334", "1538498266744", "1538498341583", "1538498481082", "1538498494065"]]
weekArray的“复制/可复制”数据:

   var weekArray = [[1538002800000, 1538089200000], [1538089200000, 1538175600000],[1538175600000, 1538262000000], [1538262000000, 1538348400000],[1538348400000, 1538434800000],[1538434800000, 1538521200000],[1538521200000, 1538607600000]]

只需在最后清除阵列:

        let insPerDay = []
        let insDuringThisWeek = [];
        let  insDuringThisWeek_temp = [[], [], [], [], [], [], []]; // clean array
        for (var i = 0; i < spaceIterationInsWeek.length; i++){
            // will repeat the number of depts (i =2)  

            for (let k=0; k<weekArray.length; k++) {
            // will repeat 7 times  (j =7)   
                for (let j = 0; j < spaceIterationInsWeek[i].length; j ++) {
                // will repeat the number of ins
                    if (spaceIterationInsWeek[i][j] > weekArray[k][0] && spaceIterationInsWeek[i][j] < weekArray[k][1]) {
                        insDuringThisWeek_temp[k].push(spaceIterationInsWeek[i][j]);    
                    }   

                } 
                insDuringThisWeek.push(insDuringThisWeek_temp[k].slice());   
                console.log(insDuringThisWeek);             

            }     
            insPerDay.push(insDuringThisWeek);
        //HERE
            insDuringThisWeek = [];
            insDuringThisWeek_temp = [[], [], [], [], [], [], []];
            console.log(insPerDay);


        }   
let insPerDay=[]
让我们在本周内加入=[];
让我们在本周内输入温度=[]、[]、[]、[]、[]、[]、[]、[]、[]、[];//清洁阵列
for(var i=0;i
只需在末尾清除阵列:

        let insPerDay = []
        let insDuringThisWeek = [];
        let  insDuringThisWeek_temp = [[], [], [], [], [], [], []]; // clean array
        for (var i = 0; i < spaceIterationInsWeek.length; i++){
            // will repeat the number of depts (i =2)  

            for (let k=0; k<weekArray.length; k++) {
            // will repeat 7 times  (j =7)   
                for (let j = 0; j < spaceIterationInsWeek[i].length; j ++) {
                // will repeat the number of ins
                    if (spaceIterationInsWeek[i][j] > weekArray[k][0] && spaceIterationInsWeek[i][j] < weekArray[k][1]) {
                        insDuringThisWeek_temp[k].push(spaceIterationInsWeek[i][j]);    
                    }   

                } 
                insDuringThisWeek.push(insDuringThisWeek_temp[k].slice());   
                console.log(insDuringThisWeek);             

            }     
            insPerDay.push(insDuringThisWeek);
        //HERE
            insDuringThisWeek = [];
            insDuringThisWeek_temp = [[], [], [], [], [], [], []];
            console.log(insPerDay);


        }   
let insPerDay=[]
让我们在本周内加入=[];
让我们在本周内输入温度=[]、[]、[]、[]、[]、[]、[]、[]、[]、[];//清洁阵列
for(var i=0;i
这里是另一种方法。。。。。。可能是也可能不是您想要的确切输出

var spaceiterationsweek=[
["1538032574112", "1538032574299", "1538032574489", "1538032574707", "1538032574958", "1538032580589", "1538032580744", "1538032583050", "1538035431634", "1538035432105", "1538044237902", "1538044253095", "1538089207793", "1538089207972", "1538089208184", "1538089209765", "1538089209935", "1538089210172", "1538140319898", "1538140320415", "1538393131974", "1538393132133", "1538393132301", "1538393134682", "1538419054736", "1538419056057", "1538419056445", "1538421078992", "1538423320582", "1538423324199", "1538423328179", "1538423331484", "1538423472877", "1538423584874", "1538423586801", "1538423604206", "1538423664249", "1538423668981", "1538423682914", "1538423691802", "1538423866031", "1538423867420", "1538423868327", "1538423875373", "1538424176251", "1538424179511", "1538424231217", "1538424283692", "1538424327861", "1538424327866", "1538424327868", "1538424327871", "1538424327877", "1538424327882", "1538424327884", "1538424327891", "1538424327896", "1538426250753", "1538426251268", "1538426251642", "1538428174561", "1538428174925", "1538428175168", "1538428179449", "1538428179612", "1538428185771", "1538428199625", "1538428204510", "1538428204700", "1538428204883", "1538497882619", "1538498290347", "1538498319612", "1538498370580", "1538498465625", "1538498510231"],
["1538033851202", "1538035355166", "1538035355949", "1538035370713", "1538043037913", "1538043065714", "1538043065993", "1538043530533", "1538043531900", "1538043533828", "1538044225832", "1538089267124", "1538089267318", "1538089267543", "1538393117968", "1538393118102", "1538393118254", "1538393119966", "1538393120110", "1538393120362", "1538393120538", "1538393120722", "1538414187921", "1538414188175", "1538414188327", "1538414191291", "1538414191516", "1538424651376", "1538424672070", "1538424672073", "1538424672077", "1538424672080", "1538424673236", "1538424673238", "1538424673241", "1538424673244", "1538424679001", "1538424679010", "1538424679014", "1538424679017", "1538428236679", "1538428236846", "1538428237012", "1538428237172", "1538428237341", "1538428237491", "1538428237649", "1538428237816", "1538428237982", "1538428238159", "1538428238334", "1538498266744", "1538498341583", "1538498481082", "1538498494065"]
]
var weekArray=[
[1538002800000, 1538089200000],
[1538089200000, 1538175600000],
[1538175600000, 1538262000000],
[1538262000000, 1538348400000],
[1538348400000, 1538434800000],
[1538434800000, 1538521200000],
[1538521200000, 1538607600000]
]
var out=spaceiterationsweek.map(space=>{
设grouped=Array.from({
长度:weekArray.length
}).map(=>[]);//为每个星期对创建一个空数组
space.forEach(ts=>{
让idx=weekArray.findIndex(([start,end])=>ts>=start&&ts=0){
分组[idx]。推送(ts);//使用周对的索引将其分组
}否则{
错误(`Timestamp${ts}未在任何星期数组`)中找到//如果未找到时间范围,则错误!
}
})
分组返回;
})

console.log(out);
这里有另一种方法……可能是也可能不是您想要的确切输出

var spaceiterationsweek=[
["1538032574112", "1538032574299", "1538032574489", "1538032574707", "1538032574958", "1538032580589", "1538032580744", "1538032583050", "1538035431634", "1538035432105", "1538044237902", "1538044253095", "1538089207793", "1538089207972", "1538089208184", "1538089209765", "1538089209935", "1538089210172", "1538140319898", "1538140320415", "1538393131974", "1538393132133", "1538393132301", "1538393134682", "1538419054736", "1538419056