NodeJS如何统计数组中对象的数量?

12

我该如何计算数组中有多少个对象?

数组看起来像这样:

[ {id: 1}, {id: 2}, ...]
我假设如果是PHP,我可以使用count(),但对于NodeJS / Javascript呢?
编辑: asd
if (offer.items_to_receive.length > 0) { 
    console.log("items: " + offer.items_to_receive.length);
    for(var i = 0; i < offer.items_to_receive.length; i++) {
        usersInRound.push(offer.steamid_other);
    }
}

logData('Accepted trade offer from ' + offer.steamid_other + '. (tradeofferid: ' + offer.tradeofferid + ')\nWorth ' + offer.items_to_receive.length + ' tickets. ');

它怎么能读取“价值 X 张门票”的部分,但不能读取其他部分呢?


如果你的问题是由于自己的打字错误引起的(这似乎是你在评论中表明的),那么请删除你的问题。 - jfriend00
好像不是,两秒钟,正在更新帖子。 - prk
根据您的编辑,offer.items_to_receiveundefined。您的代码之前存在一些问题,导致该属性不是您所认为的那样。而且,您肯定不能读取 undefined.length 属性。这应该是您自己代码的基本调试。 - jfriend00
为什么它最后可以读取它呢?(检查\nWorth X tickets部分),它可以在那里读取.length吗? - prk
它还可以在“items”部分读取其.length。 - prk
根据您的屏幕截图,在进入for循环之前就抛出了异常。这个问题非常混乱。首先,您完全改变了它。其次,您没有透露足够的相关代码,以便任何人都能知道发生了什么。第三,现在您声称异常后的代码行正常工作,这毫无意义。 - jfriend00
3个回答

27

使用 .length

var data = [{
    id: 1
}, {
    id: 2
}];

console.log(data.length);

更新:从您的编辑中我看到offer.items_to_receiveundefined,请确保对象offer具有属性items_to_receive(应该是一个数组);


10
list = //YOUR OBJECT DATA

count = Object.keys(list).length;

Object.keys() gives the count of keys

那应该会给出正确的计数


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接