【发布时间】:2009-09-17 16:40:18
【问题描述】:
我在服务器端 javascript 中计算此数组中的对象数量时遇到问题。
下面是一个 JSON 对象,它是使用我要计数的数组解析出来的。
注意:对象是对象形式,而不是 JSON 字符串形式。
JSON 对象:
[{"dataSymbol":"21135103","isHoliday":false,"isIPO":false,"lastTradeTime":40073.49652777778,"strikePrice":"33.00","last":"1.30","change":"0.20","changePct":"18.1818","lastRaw":1.3,"ask":"1.40","bid":"1.30","lastTime":40073.49652777778,"tick":0,"openInterest":"13.6K","volume":"80311","expDate":40194,"coName":"AJR Jan0 33.0 C"},
{"dataSymbol":"21339645","isHoliday":false,"isIPO":false,"lastTradeTime":40073.50479166866,"strikePrice":"6.00","last":"2.11","change":"0.01","changePct":"0.4762","lastRaw":2.11,"ask":"2.15","bid":"2.10","lastTime":40073.50479166866,"tick":0,"openInterest":"105.00","volume":"62313","expDate":40285,"coName":"EK Apr0 6.0 C"},
{"dataSymbol":"13511861","isHoliday":false,"isIPO":false,"lastTradeTime":40073.489583333336,"strikePrice":"113.00","last":"1.41","change":"-6.34","changePct":"-81.8065","lastRaw":1.41,"ask":"7.60","bid":"7.45","lastTime":40073.489583333336,"tick":0,"openInterest":"805.00","volume":"62975","expDate":40138,"coName":"SPY Nov8 113.0 P"},
{"dataSymbol":"20718334","isHoliday":false,"isIPO":false,"lastTradeTime":40073.49375,"strikePrice":"40.00","last":"1.42","change":"-0.05","changePct":"-3.4014","lastRaw":1.42,"ask":"1.46","bid":"1.44","lastTime":40073.49375,"tick":0,"openInterest":"116.1K","volume":"60470","expDate":40194,"coName":"QQQQ Jan0 40.0 P"},
{"dataSymbol":"20348966","isHoliday":false,"isIPO":false,"lastTradeTime":40073.47708333333,"strikePrice":"41.00","last":"2.39","change":"-0.06","changePct":"-2.449","lastRaw":2.39,"ask":"2.45","bid":"2.42","lastTime":40073.47708333333,"tick":-1,"openInterest":"4.6K","volume":"60320","expDate":40257,"coName":"QQQQ Mar0 41.0 P"}]
我通常使用 myObject.length 来计算这种类型的数组,但这不起作用。
Response.Write(optionsQuotes.length);
当数组的实际计数为 5 时,上述代码返回 21339646 作为计数的结果。
我宁愿不必循环遍历数组来计算它,因为我稍后会循环遍历它以绘制表格,并且我需要知道表格绘制开始之前的最后一次迭代。
有什么想法吗?
编辑:
//here is where I am gettnig the array of objects...
var myObj = common.getMyObj("param1", "param2");
为了显示数组的内容,我对对象进行了序列化。
myObj.constructor 是一个数组。
顺便说一句,这也在服务器端。
【问题讨论】:
-
您好,提示一下:您是否看到您有一个值为 21339645 的 dataSymbol(长度减一返回的值)? ;)
-
是的。它也在服务器端。关于 dataSymbol 值的要点。
-
哇。 SO如何显示您的问题真是太棒了!
-
是的!太棒了。同意
-
@idrumgood javascript 可以在服务器端运行(例如,参见 node.js)
标签: javascript arrays object count