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
  }
}

10-07 14:35