我正在做一些模式javascipt / C#编码,我有一个问题。我正在做面包屑架构,以获取更多参考。我的目标是在此示例中找到以某种方式将计数器增加到等于k的方法,因此我可以停止在foreach循环的最后一次迭代中显示逗号。现在,很明显,它们都以相同的速率增加。我在最大的地方放屁(counter ++),让它递增,然后甚至在完成每个后都结束。两个起始整数值都应保持不变。只是将计数器更改为1并不是我想要的:)另外,计数器也必须位于ForEach循环中。
下面的伪代码:
k = 1;
counter = 0;
foreach(string str in array1)
{
Schema Code
Schema Code
for(i = 0; i > 0; i++)
{
k++
counter++ (not right location, but reference)
}
if(k < counter)
{
print a coma
}
else if(k >= counter)
{
print space
}
}
已更新:我的代码将在位置上。我目前无法访问我的代码。但是,每个页面上的数字都是通过数字显示的。然后,在最后一个位置将不会写逗号。
<script type="application/ld+json">
{
"context": "http://schema.org",
"type": "BreadcrumbList",
"itemListElement": [{
"type": "ListItem",
"position": 5,
}
}
</script>
答案 0 :(得分:0)
建议不要使用两个单独的计数器,而要从获取数组的长度开始,并使用一个计数器来打印逗号,而计数器要少于数组中的总数。这样,完成后您的逗号将比数组项目少一个,并且在打印内容的末尾不会有逗号。
这是一种涉及,但是,由于您真的不想在打印的末尾加上逗号,因此它可能最适合您的需求。
以下是基于您上面编写的内容的伪代码:
// the length of the array needs to be a constant because depending on
// what your code does it may change the array length as your loop runs
const arrayLength = the length of your array when you start
int commaCount = 0
foreach(string str in array1)
{
Schema Code
Schema Code
if (commaCount < (arrayLength -1))
// (< arrayLength -1) because then your last comma will reach
// (arrayLength -1) and then not increase any more the last time around
{
print a comma
}
}
让我知道是否有帮助。
(请忽略我的语法。这是伪代码,因此绝对不要复制和粘贴我刚才写的内容。)