gpt4 book ai didi

Javascript:嵌套for循环赋值

转载 作者:行者123 更新时间:2023-11-30 14:13:28 25 4
gpt4 key购买 nike

我有两个数组:

divideArray = [2, 2, 1];

其中包含2+2+1个时隙

和一个包含对象:

starttimeArray = [{starttime: '06:00:00', divideArrayIndex: 0}, {'09:00:00', divideArrayIndex: 0}, {'12:00:00' divideArrayIndex: 0}, {'15:00:00', divideArrayIndex: 0}, {'18:00:00'divideArrayIndex: 0}];

starttimeArray.length 等于divideArray 的元素之和。

现在我想遍历 starttimeArray 并将每个“divideArrayIndex”属性“分配”给 divideArray 的相应索引,例如:

{starttime: '06:00:00', divideArrayIndex: 0}
{starttime: '09:00:00', divideArrayIndex: 0}
{starttime: '12:00:00', divideArrayIndex: 1}
{starttime: '15:00:00', divideArrayIndex: 1}
{starttime: '18:00:00', divideArrayIndex: 2}

由于 divideArray[0] 的前两个槽值为 2,divideArray[1] 也为接下来的 2 个槽和 divideArray[ 2] (=1) 用于最后一个插槽。

我试图使用嵌套的 for 循环(包括 while 循环)来实现这一点,但这不起作用,目前我完全不知道该怎么做......

 for (starttimeArrayCounter = 0; starttimeArrayCounter < starttimeArray.length;) {
for (divideArrayCounter = 0; divideArrayCounter < divideArray.length; divideArray++) {
while (divideArrayCounter < starttimeArray[starttimeArrayCounter]) {
console.log(starttimeArray[starttimeArrayCounter], divideArrayCounter);
starttimeArrayCounter++;
}
}
}

提前致谢。

最佳答案

您可以遍历 dividerArray,将每个元素作为循环计数器,同时映射来自 starttimeArray 的元素:

const divideArray = [2, 2, 1];
const starttimeArray = ['06:00:00', '09:00:00', '12:00:00', '15:00:00', '18:00:00'];

let starttimeIndex = 0;
let divideIndex = 0;
for (let loopCounter of divideArray) {
while (loopCounter > 0) {
processResult(starttimeIndex, divideIndex);
starttimeIndex += 1;
loopCounter -= 1;
}
divideIndex += 1;
}

function processResult(starttimeIndex, divideArrayIndex) {
console.log({
starttime: starttimeArray[starttimeIndex],
divideArrayIndex
});
}

注意:输出正是您在问题中显示的内容,作为文字字符串。它包含必要的信息,您可以根据需要随意调整它。

关于Javascript:嵌套for循环赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53974099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com