jQuery Range 滑块 grep 返回具有最小值和最大值的项目

jQuery Range slider grep return items with min and max

本文关键字:最小值 最大值 项目 Range 滑块 grep 返回 jQuery      更新时间:2023-09-26

我有以下数据:

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 rangeslider,我正在尝试使用jQuery.grep按价格返回属于范围滑块最小和最大值的项目。

这是我到目前为止的代码:

//////////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;
    });
}

演示:http://jsfiddle.net/IrvinDominin/dF2W8/