我想在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
}
}