如何从jSon对象构建数组

强尼

大家好,我试图从JSON数组构建2个数组。

{
    "2015-03-24": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "150",
        "promo": "",
        "status": "available"
    },
    "2015-03-25": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "150",
        "promo": "",
        "status": "available"
    },
    "2015-03-26": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "150",
        "promo": "",
        "status": "available"
    },
    "2015-03-27": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "100",
        "promo": "",
        "status": "available"
    },
    "2015-03-28": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "100",
        "promo": "",
        "status": "available"
    },
    "2015-03-29": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "100",
        "promo": "",
        "status": "available"
    },


    "2015-04-10": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "",
        "promo": "",
        "status": "booked"
    },
    "2015-04-11": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "",
        "promo": "",
        "status": "booked"
    },

    "2015-05-01": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "",
        "promo": "",
        "status": "unavailable"
    },
    "2015-05-02": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "",
        "promo": "",
        "status": "unavailable"
    },
    "2015-05-03": {
        "bind": 0,
        "info": "",
        "notes": "",
        "price": "",
        "promo": "",
        "status": "unavailable"
    },


}

这是jSon数组,

所以我想建立2个数组。

1个数组,仅保留这些元素的键(在这种情况下为日期),status=='booked' nOR status=='unavailable'并将其构建在jQuery数组中,如下所示

var array = ['2015-03-19', '2015-03-20', '2015-03-21', '2015-03-22', '2015-03-23', '2015-03-24', '2015-03-25', '2015-03-26', '2015-04-07', '2015-04-08', '2015-04-09', '2015-04-10'];

另一种方法是使用当日的日期构建另一个数组 status=='available' AND price > '100$'

var array2 = ['2015-03-25','2015-03-26','2015-04-07','2015-04-08'];

如何使用jQuery实现此目标?

n-德鲁

如果j是您的json:

var a1 = [];
var a2 = [];
$.each( j, function( key, ob ) {
    if(ob.price > 100 && ob.status == 'available'){
        a1.push(key);
    }
    if(ob.status == 'booked' || ob.status == 'unavailable'){
        a2.push(key);
    }
});
console.log(a1);
console.log(a2);

产量:

["2015-03-24", "2015-03-25", "2015-03-26"]
["2015-04-10", "2015-04-11", "2015-05-01", "2015-05-02", "2015-05-03"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章