gpt4 book ai didi

javascript - 搜索后循环遍历数组

转载 作者:行者123 更新时间:2023-11-28 20:12:10 24 4
gpt4 key购买 nike

在执行搜索以查找特定项目的索引后,我尝试返回给定数组中的下一个项目。

我有以下代码可以定位索引,但无法返回下一个值

var myArray = [{"id" : "51fcd6fcf22d94c881000005","creator" : true}, 
{"id" : "5244abaa0c11b3da22000012","creator" : false},
{"id" : "52027f4354c8a8fd33000008","creator" : false}]

function nextElement(id) {
var i = myArray.length;
while( i-- ) {
if(myArray[i].id == id) break;
}
console.log(i) <-- This returns '0' which is correct
console.log(myArray[i++%myArray.length]); <-- This returns the object value at 0 too
};

nextElement('51fcd6fcf22d94c881000005')

不起作用的是,当我运行该函数时,它返回我传递给函数的对象

我希望能够将 ID 传递到函数中并返回下一个项目,但如果它是数组中的最后一个项目,那么我希望它循环并返回第一个项目。

例如,如果传入的 ID 是 52027f4354c8a8fd33000008 那么我希望它返回 0 处的对象,即 {"id": "51fcd6fcf22d94c881000005","creator": true}

最佳答案

更改:

myArray[i++%myArray.length]

至:

myArray[++i%myArray.length]

记住哪个是哪个的方法是,如果++在变量之前,它在返回之前递增;如果它在变量之后,则在保存要返回的值后递增。

关于javascript - 搜索后循环遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com