Javascript 在对象数组中循环属性的最有效方法是什么?

Javascript 在对象数组中循环属性的最有效方法是什么?,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,有没有一种方法可以更有效地实现这段代码?因为在一个非常大的分数数组上循环只是为了找到一个分数属性是非常昂贵的 var scores = [{scoredBy:"youssef",score:5},{scoredBy:"omar",score:3}]; scores.forEach(score=>{ if(score.scoredBy == "youssef"){ console.log(score); } }) 最有效的方法是使用对象而不是数组,其中键是sc

有没有一种方法可以更有效地实现这段代码?因为在一个非常大的分数数组上循环只是为了找到一个分数属性是非常昂贵的

var scores = [{scoredBy:"youssef",score:5},{scoredBy:"omar",score:3}];

scores.forEach(score=>{
    if(score.scoredBy == "youssef"){
      console.log(score);
    }
})

最有效的方法是使用对象而不是数组,其中键是scoredBy值。没有循环,只是查找

var得分={“youssef”:5,“omar”:3};

log(scores[“youssef”])
最有效的方法是使用一个对象,而不是一个键为scoredBy值的数组。没有循环,只是查找

var得分={“youssef”:5,“omar”:3};

console.log(scores[“youssef”])
可能使用一个循环结构,您可以在匹配中中断该结构。@Teemu在条件中添加return语句应该是enough@Sebastianb不跟forEach在一起…天哪,我还在睡觉!不要使用,也可以使用一个循环结构,你可以在匹配中打断它。@Teemu在条件中添加return语句应该是enough@Sebastianb不跟forEach在一起…天哪,我还在睡觉!不要用,用