在带有孩子的json上做一个jQuery.grep

时间:2013-01-22 00:54:20

标签: jquery json

我有一个json字符串,其中包含的产品,尺寸,类型,价格......

一个看起来像这样:

"products": [
    {
        "id": 10,
        "product_prices": [
            {
                "product_size_id": 2,
                "price": "2.0"
            },
            {
                "product_size_id": 3,
                "price": "3.0"
            },
            {
                "product_size_id": 5,
                "price": "4.0"
            },
            {
                "product_size_id": 6,
                "price": "5.0"
            }
        ]

现在我发现这篇文章要查询,小提琴正在运行:How to filter a Multi-dimension JSON object with jQuery.grep()

但是,当我尝试这样做时,它会返回所有对象,而不仅仅是id = 20

的产品

这是我正在使用的代码:

json.data = jQuery.grep(json.products,function(element, index){ return element.id=20})

console.log(json.data);

这是我第一次接受json的经历: - )

我为它创造了一个小提琴:

http://jsfiddle.net/rept/TC25X/

谢谢!

1 个答案:

答案 0 :(得分:2)

使用==比较值:

json.data = jQuery.grep(json.products, function (element, index) {
    return element.id == 20;
});

这是你的小提琴:http://jsfiddle.net/TC25X/1/