我想在JSON数据中过滤250至800之间的价格范围

我的JSON数据:

var data = [{
    "name": "Lenovo Thinkpad 41A4298",
    "Price": 200
}, {
    "name": "Lenovo Thinkpad 41A2222",
    "Price": 200
}, {
    "name": "Lenovo Thinkpad 41Awww33",
    "Price": 6700
}, {
    "name": "Lenovo Thinkpad 41A424448",
    "Price": 600
}, {
    "name": "Lenovo Thinkpad 41A429rr8",
    "Price": 4200
}, {
    "name": "Lenovo Thinkpad 41A429ff8",
    "Price": 2200
}, {
    "name": "Lenovo Thinkpad 41A429ss8",
    "Price": 200
}, {
    "name": "Lenovo Thinkpad 41A429sg8",
    "Price": 500
}];


具有所有浏览器兼容性的价格范围过滤器的Javascript或jQuery如何操作

我正在尝试此代码:

newdata=data.filter(function (el) {
return el.Price >= 250 &&
e1.Price <=800;
});

最佳答案

您可以使用filter方法,该方法将创建一个具有所有通过条件的元素的新数组。

data.filter(function(x){ return x.Price >= 250 && x.Price <= 800});


如果要在每个浏览器中使用filter方法,则可以在代码中添加polyfill方法(请参见链接)。



基本javascript的另一个选项是:

通过简单的for循环在阵列中循环并在价格范围内进行测试。

for(var i=0, length=data.length; i<length; i++){
   var current = data[i];
   if(current.Price >= 250 && current.Price <= 800){
      //INSERT CODE HERE
   }
}

10-06 12:27