javascript - 谁能向我解释这段定义一些变量并循环它们的 JavaScript 代码?

标签 javascript loops

我正在关注本教程:http://vimeo.com/16961179教您如何使用 express.js 制作 View 和局部 View :

var products = [
{
    id: 1,
    name : 'Mac Book Pro',
    description: 'Apple 13 inch Mac Book Pro notebook',
    price: 1000
},
{
    id: 2,
    name : 'iPad',
    description: 'Apple 64GB 3G iPad',
    price: 899
}
];

module.exports.all = products;

module.exports.find = function(id) {
    id = parseInt(id, 10);
    var found = null;
    productloop: for(product_index in products) {
        var product = products[product_index];
        if (product.id == id) {
            found = product;
            break productloop;
        }
    };
    return found;
}

在教程中,这部分作者并没有过多解释。 我对循环部分特别困惑。 谁能向我解释一下(我是 JavaScript 初学者)?

我理解顶部的 products 变量,但它看起来像是一个内部包含其他数组的数组。

最佳答案

该函数通过产品 ID 搜索产品。

  • 该循环按顺序将 product 设置为产品数组中的每个产品。
  • 它将该产品的 ID 与传递给函数的 ID 进行比较。
  • 如果相等,则会跳出循环(是的 goto)并返回乘积(truthy)。
  • 如果正常退出循环,则意味着从未找到该产品,并且将返回 null (falsey)。

关于javascript - 谁能向我解释这段定义一些变量并循环它们的 JavaScript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199842/

相关文章:

javascript - Dijit 选择,组合框中的项目已禁用 = true 不起作用

javascript - 如何访问 Angular2 组件中的 codemirror 文本区域值?

c - 不是 c 中结构的预期结果循环

JAVA在多行输出上反转字符串

用于填充表的 JavaScript 函数不起作用

php - 如何执行ajax函数onbeforeunload?

将字符串源复制到目标中,然后在 C 中追加一个字符

php - 填满的 $_FILES 不返回文件扩展名

java - 具有最快运行时间的迭代器,用于占位符

javascript - 如何从背景 CSS 属性获取多个图像 URL?