所以今天我正在学习一些ES6数组助手,我想用它们来改变我现有的for循环,但是我不能得到与我用for循环相同的结果
function comment(){
let index;
for(let i = 0; i < commentArray.length; i++){
if(commentArray[i]._id == req.params.commentId){
index = commentArray.indexOf(commentArray[i]);
}
}
return index;
}
var com = comment();
这是nodejs,我试图从数据库中获取元素索引,而不是从中拉出来,我的代码工作正常,但我想用数组助手改变它,我想我需要找到助手,但我不能让它起作用!
答案 0 :(得分:3)
你可以用这个使用Array#findIndex
:
let index = commentArray.findIndex(comment => comment._id === req.params.commentId);
执行此行时,它会指定评论索引,其_id
属性与req.params.commentId
相同。
答案 1 :(得分:3)
如果要根据某些条件查找数组中项目的索引,可以使用findIndex
函数
commentArray.findIndex(comment => comment._id === req.params.commentId)
同样使用for loop
的当前代码,我认为您需要在找到索引后立即返回索引,并且不要让循环迭代直到结束。
for(let i = 0; i < commentArray.length; i++){
if(commentArray[i]._id == req.params.commentId){
return commentArray.indexOf(commentArray[i]);
}
}