我的json字符串如下:

var data = [{"first":"3","second":"1"},{"first":"5","second":"5"},{"first":"7","second":"1"}];


现在我打电话-

objx(data).collect("first")


并期望得到像[3,5,7]的数组。
但是我遇到了JavaScript错误:对象不支持此属性或方法。
我尝试过

objx(data).collect("first").obj() but with no avail.


我已经从http://code.google.com/p/objx/包含了objx-2.3.6.js文件,并且我想使用objx api创建数组以减少代码行。
我正在使用IE8

请提出一条出路。

最佳答案

“我的json字符串”-不是JSON也不是字符串。无论如何...

由于您已使用jQuery标记了您的问题(即使您未在任何问题中都提到它),因此这里是针对同一问题的jQuery解决方案:

var fields = $.map(data, function(val) { return val.field; });
// fields is [3,5,7]


至于为什么会出现特定错误,那是因为.collect()方法不是核心objx库的一部分,至少,它不在objx-2.3.6.js中。大概您也需要包含Collections插件js(但我找不到它)。

09-16 14:08