0

myarr[]所以我有一个JSON 对象数组,格式如下:{ "a":"", "b":"" }

是否有获取 b 数组的有效方法:

[ myarr[0].b, myarr[1].b, myarr[2].b, ... ]

还是我必须手动迭代myarr来构建b的数组?

4

4 回答 4

2

查看underscore.js库。

我建议检查pluck的实现。

您想要做的是有效地:_.pluck(myarr, 'b')

于 2013-05-13T17:58:27.850 回答
1

为什么不享受原型的乐趣并扩展 Array 以获得方便且可重用的功能:

Array.prototype.pluck = function(key) {
    var i = this.length, 
        plucked = [];
    while(i --) {
        plucked[i] = this[i][key] || ""
    }

    return plucked;
}

有了这个,您可以执行以下操作:

collection.pluck(keyName)

取回您想要的结果。在此处查看工作演示:http: //jsfiddle.net/jYrNN/1/

于 2013-05-13T17:58:16.177 回答
1
var b_arr = $.map(myarr, function(val, i) { return val.b; });

小提琴

或者没有 jQuery

var b_arr = myarr.map(function(val) { return val.b })
                 .filter(function(n){return n || false});
于 2013-05-13T18:03:05.070 回答
-1

jQuery 确实提供了解析 json 的 api

$.each(myarr, function(key,value)
  {
    alert(key);
    alert(value);
  });
于 2013-05-13T17:58:49.843 回答