javascript - 两个循环之间的区别

标签 javascript loops for-loop

下面的代码是我必须解决的一个练习的正确、有效的解决方案。我想知道为什么我的解决方案不起作用。

唯一不同的是这一行:

for (var i = contacts.length; i > 0; i--) {

为什么它不做同样的事情只是相反的方向?

for (var i = 0; i < contacts.length; i++) {
    if (contacts[i].firstName == name){
        if (contacts[i].hasOwnProperty(prop)){
            return contacts[i][prop];
        } else{
            return "No such property";
        }
    }
}
return "No such contact";

最佳答案

您的代码中存在多个问题。

  • 第一个问题是你开始 i = contacts.length 并且你知道在数组长度位置的数组中没有元素 因为数组从 0 到 array.length-1。
    该问题的解决方案是 var i = contacts.length - 1。
  • 第二个问题是 i 永远不会归零,因为你的停止条件是 i > 0 那么你永远不会到达数组的第一个元素。
    解决方案是将停止条件更改为 i >= 0

关于javascript - 两个循环之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64403014/

相关文章:

jquery - 循环访问具有相同类的克隆输入

javascript - 如何在 jQuery Datepicker ui 中阻止多个日期范围

javascript - jQuery slider 显示具有特定数据 JQM 的多个输入

javascript - 四个 Backbone.js 模型问题

r - 我应该如何使用数据库中的先前列来创建新变量

python - 如何在Python中的另一个循环中正确编写一个for循环?

clojure 解释器中的 Java 样式 FOR 循环?

javascript - 防止功能 Prop 更新时重新渲染

C++动态嵌套for循环

python - 我收到递归错误 [RuntimeError : maximum recursion depth exceeded while calling a Python object] - but my code is iterative -- or is it?