Javascript 涉及数组的For循环问题

Javascript 涉及数组的For循环问题,javascript,arrays,metadata,Javascript,Arrays,Metadata,我正在尝试创建一个基于模拟元数据的for循环 数据表示数据内容 Meta表示3种不同的元数据类型。如果有1,则表示元数据存在于数据中;如果有0,则表示元数据不存在 Size表示每个数据的大小(如果存在元数据)。因此,如果存在大小为3的元数据1: 它表示数组中meta 1前3个元素,meta 2后3个元素,meta 3后3个元素。 我遇到的问题是按从左到右的顺序正确地读取它,如果它没有足够的数据而不创建新的数据,只需停止从数组中读取即可 如果数据为[1,2,3,4,5],元数据为1,1,1,大小为

我正在尝试创建一个基于模拟元数据的for循环

数据表示数据内容

Meta表示3种不同的元数据类型。如果有1,则表示元数据存在于数据中;如果有0,则表示元数据不存在

Size表示每个数据的大小(如果存在元数据)。因此,如果存在大小为3的元数据1:

它表示数组中meta 1前3个元素,meta 2后3个元素,meta 3后3个元素。 我遇到的问题是按从左到右的顺序正确地读取它,如果它没有足够的数据而不创建新的数据,只需停止从数组中读取即可

如果数据为[1,2,3,4,5],元数据为1,1,1,大小为1,则应为:

元1:1

梅塔2:2

梅塔3:3

或者,如果它是[1,2,3,4,5,6,7,8,9,10,11,12]的数据,并且是1,0,1,大小为4的meta,那么它应该是:

元1:1234

梅塔2:没什么

Meta 3:56778

到目前为止,我所拥有的:

让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 对于let i=0;i<3;i++{ 如果元[i]{ 如果i==0{ console.log'Meta',1; 对于let i=0;i} 您可以通过以下步骤执行此操作:

创建一个将数据、元和大小作为三个参数的函数。 创建一个空数组,该数组将显示结果。 然后在元数组上循环。 然后从一开始就得到数组中与数组大小相等的部分。并将其放入结果数组中。 从原始阵列中删除添加的零件。 最后返回结果 让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 功能部件数据、元、大小{ 设res=[];
forlet i=0;i您可以通过以下步骤执行此操作:

创建一个将数据、元和大小作为三个参数的函数。 创建一个空数组,该数组将显示结果。 然后在元数组上循环。 然后从一开始就得到数组中和数组大小相等的部分,并将其放入结果数组中。 从原始阵列中删除添加的零件。 最后返回结果 让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 功能部件数据、元、大小{ 设res=[];
forlet i=0;i如果meta标志为true,听起来您只是想从数据中获取大小的切片。您应该能够通过简单地在meta上循环来实现这一点,同时跟踪数据中的当前位置:

让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 设res=[]; 对于let i=0,cur=0;iconsole.logres如果meta标志为true,听起来您只是想从数据中获取大小的切片。您应该能够通过简单地在meta上循环来实现这一点,同时跟踪数据中的当前位置:

让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 设res=[]; 对于let i=0,cur=0;ilogres您可以删除内部if语句,因为它们是重复的,而使用变量i来打印第i个加1的元值

在下面的代码片段中,我创建了一个变量j,用于跟踪我们所处的数据点。当找到每个元时,该变量用于跳转到大小相同的段中

然后在内部for循环中,I循环从j到j+大小,这是长度大小数据数组的特定部分

见下例:

让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 设j=0; 对于let i=0;i} 您可以删除内部if语句,因为它们是重复的,而使用变量i打印第i个加1的元值

在下面的代码片段中,我创建了一个变量j,用于跟踪我们所处的数据点。当找到每个元时,该变量用于跳转到大小相同的段中

然后在内部for循环中,I循环从j到j+大小,这是长度大小数据数组的特定部分

见下例:

让数据=[1,2,3,4,5,6,7,8,9,10]; 设meta=[1,0,1]; 设尺寸=4; 设j=0; 对于let i=0;i
}是你的friend@zer00ne我忘记了长度,我想我只是在逻辑部分有问题。你可以使用这样一个条件:I