Javascript 如何修复在循环内部以限制数量获取JSON数据的问题?

Javascript 如何修复在循环内部以限制数量获取JSON数据的问题?,javascript,json,Javascript,Json,有件事困扰着我。 我试图在控制台中理解这个输出,看一看 listdata是一个全局变量 我可以使用listdata.orders[x].id\u order返回任何没有错误的数字 然后我使用for()创建一个列表,它给了我一个没有意义的错误=/ 编辑:需要限制为9项,而不是完整的数据。长度使用此选项 listdata.orders.forEach(function (order) { console.log(order.id_order); }); 将迭代次数限制为9次 方法1: l

有件事困扰着我。 我试图在控制台中理解这个输出,看一看

listdata是一个全局变量

我可以使用listdata.orders[x].id\u order返回任何没有错误的数字

然后我使用for()创建一个列表,它给了我一个没有意义的错误=/

编辑:需要限制为9项,而不是完整的数据。长度使用此选项

listdata.orders.forEach(function (order) {
    console.log(order.id_order);
});
将迭代次数限制为9次

方法1:

listdata.orders.slice(0, 9).forEach(function (order) {
    console.log(order.id_order);
});
listdata.orders.some(function (order, index) {
    if (index > 9) {
        return true;
    }
    console.log(order.id_order);
});
方法2:

listdata.orders.slice(0, 9).forEach(function (order) {
    console.log(order.id_order);
});
listdata.orders.some(function (order, index) {
    if (index > 9) {
        return true;
    }
    console.log(order.id_order);
});

listdata
中是否至少有10个订单对象?如果没有,请尝试将
for
循环更改为
for(var i=0;i
尝试将条件替换为
i
它可以是5、9、12或25,您看不到问题所在?如果
5
您预计
listdata.orders[5]会发生什么情况
或更高版本?@Ivan在这种情况下,您应该只迭代到订单的长度。按照vp_arth的建议更改您的条件。
i
i
它可以工作,但它获取了50多个项目,您知道如何将限制设置为9个项目吗?如果可以,请编辑此答案。@Ivan:如果您在原始问题中说明了这一点,会更好。我用不同的解决方案更新了答案。这应该是您正在寻找的。对于s在我使用for()之前,使用forEach的某些原因不会显示在某些div中;与Math.min一起工作。这让我想知道原因可能是什么。
forEach
就像
for
一样,但有一些语法上的糖分。永远不要将数组作为对象进行迭代。任何第三方库都可以将iterable方法添加到
Array.prototype
中,您也会得到它。