const count = [
{number: 1},
{number: 2},
{number: 3},
{number: 4},
{number: 5},
{number: 6},
{number: 7},
{number: 8},
{number: 9},
{number: 10},
{number: 11},
{number: 12},
{number: 13},
{number: 14},
{number: 15}
];
for(let i = 0;i < count.length; i++) {
document.write(count[i].number);
}
如果我想退出循环的主要数字是5,但是我想写出5以上的数字和5以下的数字。那么456。我如何实现这一目标?
最佳答案
为了过滤出所需的数字,您可以使用if
语句检查当前对象的编号count[i].number
是否为所需的值,如果是,则打印出其关联的值。
您可以通过更改i
的值来访问该对象。使用i-1
,您将获得当前值之前的元素。同样,使用i+1
您将在当前值之后转到对象。
最后,您应该检查i
的值以确保它在数组内。例如,如果您选择查找数字1
,则它没有before对象,因此您需要检查这种情况!
请参见下面的工作示例:
const count = [
{number: 1},
{number: 2},
{number: 3},
{number: 4},
{number: 5},
{number: 6},
{number: 7},
{number: 8},
{number: 9},
{number: 10},
{number: 11},
{number: 12},
{number: 13},
{number: 14},
{number: 15}
];
const toFind = 5;
for(let i = 0; i < count.length; i++) {
if(count[i].number == toFind) {
if(i-1 >= 0) console.log(count[i-1].number);
console.log(count[i].number);
if(i+1 < count.length) console.log(count[i+1].number);
break; // complete loop cycle
}
}