为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JavaScript或jQuery中过滤JSON数据?

如何在JavaScript或jQuery中过滤JSON数据?

牧羊人nacy 2019-12-26 09:32:23
如何使用Javascript或jQuery过滤JSON数据?这是我的JSON数据:[{"name":"Lenovo Thinkpad 41A4298","website":"google"},{"name":"Lenovo Thinkpad 41A2222","website":"google"},{"name":"Lenovo Thinkpad 41Awww33","website":"yahoo"},{"name":"Lenovo Thinkpad 41A424448","website":"google"},{"name":"Lenovo Thinkpad 41A429rr8","website":"ebay"},{"name":"Lenovo Thinkpad 41A429ff8","website":"ebay"},{"name":"Lenovo Thinkpad 41A429ss8","website":"rediff"},{"name":"Lenovo Thinkpad 41A429sg8","website":"yahoo"}]JavaScript:obj1 = JSON.parse(jsondata);现在我只想要包含网站的名称和网站数据等于“ yahoo”
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超5个赞

尝试这种方式,甚至可以通过其他键进行过滤


数据:


var my_data = [{"name":"Lenovo Thinkpad 41A4298","website":"google"},

{"name":"Lenovo Thinkpad 41A2222","website":"google"},

{"name":"Lenovo Thinkpad 41Awww33","website":"yahoo"},

{"name":"Lenovo Thinkpad 41A424448","website":"google"},

{"name":"Lenovo Thinkpad 41A429rr8","website":"ebay"},

{"name":"Lenovo Thinkpad 41A429ff8","website":"ebay"},

{"name":"Lenovo Thinkpad 41A429ss8","website":"rediff"},

{"name":"Lenovo Thinkpad 41A429sg8","website":"yahoo"}];

用法:


//We do that to ensure to get a correct JSON

var my_json = JSON.stringify(my_data)

//We can use {'name': 'Lenovo Thinkpad 41A429ff8'} as criteria too

var filtered_json = find_in_object(JSON.parse(my_json), {website: 'yahoo'});

过滤功能


function find_in_object(my_object, my_criteria){


  return my_object.filter(function(obj) {

    return Object.keys(my_criteria).every(function(c) {

      return obj[c] == my_criteria[c];

    });

  });


}


查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 1054 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信