Javascript jQuery范围滑块grep返回最小值和最大值的项目

Javascript jQuery范围滑块grep返回最小值和最大值的项目,javascript,jquery,json,jquery-ui,Javascript,Jquery,Json,Jquery Ui,我有以下数据: unit 251 path "M256.57 475.46L251.00 4...49 471.59L259.64 472.92" name "unit 251" status "Sold" color "#f50000" size "3200" price "3000000" 这个小片段来自一个大的JSON数组,我使用jQuery ui RangeSloider,并且我试图使用它返回属于范围滑块的最小值和最大值的项目 以下是我目前的代码: //////////Filter R

我有以下数据:

unit 251
path "M256.57 475.46L251.00 4...49 471.59L259.64 472.92"
name "unit 251"
status "Sold"
color "#f50000"
size "3200"
price "3000000"
这个小片段来自一个大的JSON数组,我使用jQuery ui RangeSloider,并且我试图使用它返回属于范围滑块的最小值和最大值的项目

以下是我目前的代码:

//////////Filter Range Slider

    function filterUnitPrice(minVal,maxVal){
        var obj = json['properties'];
        return jQuery.grep(Object.keys(obj), function(item){
            return obj[item].price < maxVal;
        });
    }

    jQuery('div#price-range')[0].slide = null;
    jQuery( "#price-range" ).slider({
        range: true,
        min: 0,
        max: 350000,
        values: [ 0, 300000 ],
        slide: function( event, ui ) {
            var minVal = ui.values[0];
            var maxVal = ui.values[1];
            var result = filterUnitPrice(minVal,maxVal);
            console.log(result);
        }
    });
//////////Filter Range Slider
我不确定我做错了什么,但它似乎总是回来[]

非常感谢你的帮助。。谢谢…

如果希望grep函数返回元素而不是其键,请尝试将函数更改为:

function filterUnitPrice(minVal, maxVal) {
    var obj = json['properties'];
    return jQuery.grep(obj, function (item) {
        return item.price < maxVal;
    });
}

演示:

感谢您的回答非常有用,如果item.price>maxVal&&item.price>minVal,我将如何返回item.price?如下所示:return item.price>=minVal&&item.price