javascript - 我怎样才能在Javascript中同时获得循环和过滤

标签 javascript loops

    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,它没有之前的对象,因此您需要检查这种情况!

请参阅下面的工作示例:

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

关于javascript - 我怎样才能在Javascript中同时获得循环和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54301632/

相关文章:

php - 在页面模板上使用工作分页的自定义 wp_query

loops - 在 Mathematica 中,我们如何将循环生成的许多图合并为一个图?

javascript - 请帮我删除 Exploring ES6 中的这个例子

javascript - 是否需要setTimeout?

javascript - 多个 JS api 调用

java - 循环访问一组对象

javascript - 如何拥有相同的重复 div 结构,但在每个 div 中解析不同的 xml 数据

javascript - 如何使用正则表达式获取@等电子邮件域前后的内容

javascript - 导航下拉菜单未出现在 HTML 选择选项下拉菜单上方

c++ - 交替递增顺序反向堆叠