首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤JSON数据中的价格范围: Javascript还是jQuery

如何过滤JSON数据中的价格范围: Javascript还是jQuery
EN

Stack Overflow用户
提问于 2014-05-20 07:47:43
回答 7查看 9.8K关注 0票数 0

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

我的JSON数据:

代码语言:javascript
复制
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范围筛选器中实现所有浏览器兼容性

我正在尝试下面的代码:

代码语言:javascript
复制
newdata=data.filter(function (el) {
return el.Price >= 250 &&
e1.Price <=800;
}); 
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-05-20 07:53:46

您可以使用过滤器方法,它将创建一个包含传递条件的所有元素的新数组。

代码语言:javascript
复制
data.filter(function(x){ return x.Price >= 250 && x.Price <= 800});

如果希望在每个浏览器中使用filter方法,则可以在代码中添加多边形填充方法(请参阅链接)。

使用基本javascript的另一个选项是:

通过一个简单的循环和测试价格范围的阵列。

代码语言:javascript
复制
for(var i=0, length=data.length; i<length; i++){
   var current = data[i]; 
   if(current.Price >= 250 && current.Price <= 800){ 
      //INSERT CODE HERE 
   }
}
票数 5
EN

Stack Overflow用户

发布于 2014-05-20 07:52:40

正如您感到悲哀一样,请使用.filter和shims作为xbrowser。jQuery应该有内置的功能。

代码语言:javascript
复制
var filtered = data.filter(filter_callback);
//
票数 1
EN

Stack Overflow用户

发布于 2014-05-20 07:54:07

试试这个解决方案:

代码语言:javascript
复制
data.filter(function(i, j) { 
    return (i.Price >= 250 && i.Price <= 800 ); 
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23753860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档