首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有匹配值jquery的

具有匹配值jquery的
EN

Stack Overflow用户
提问于 2014-05-12 16:03:44
回答 3查看 545关注 0票数 2

我有一个json文件,上面有球员的名字作为属性,值是是和否。我试图在每次(属性=‘是)的时候添加一个来计数,玩家会玩。

这里是json文件的一个示例

{"Wojciech Szczesny“:”是“,"Lukasz Fabianski”:“不”,"Emiliano Viviano":"no","Olivier Giroud":"yes","Per Mertesacker":"yes","Bacary Sagna":"yes","Laurent Koscielny":"no","Santi“:”yes“,"Mikel Arteta":"yes","Mesut \u00d6zil":"no","Kieran Gibbs":"yes",Aaron Ramsey:”no“,Jack Wilshere:”no,““马蒂厄·弗拉米尼”:“是”,“托马斯·罗西基”:“是”,“是”,“卢卡斯·波多尔斯基”:“是”,“纳乔·蒙雷尔”:“不”,“西奥·沃尔科特”:“不”,“托马斯·韦尔马伦”:“是”,“卡尔·詹金森”:“不”,“亚历克斯·奥克斯莱德-张伯伦”:“不”,“不”,“塞尔日·格纳布里”:“不”,“金·达尔斯特罗姆”:“不”,“尼克·本特纳”:“不”,"Abou y“:”不“,”Abou y“:”no“,"Park no Young“:”no“,"Emmanuel Frimpong":"no","Yaya Sanogo":"no","Ryo Miyaichi":"no","Hector Bellerin":"no","Chuba Akpom":"no",”萨克Hayden":"no","Gideon Zelalem":"no","Home":"home",“结果”:“抽签”}

和这里我的Jquery代码

代码语言:javascript
复制
var count = 0;
    $.ajax({
        url:'ars.json',
        dataType:'json',
        cache: true,
  success: function(data) {
    $(data).each(function(index, value){
        if(Object.getOwnPropertyNames (value) == 'yes'){
            count++;
        }else{

        }
    });
    console.log(count);
}
EN

回答 3

Stack Overflow用户

发布于 2014-05-12 16:12:34

http://jsbin.com/CountSamePropertyValues/1/edit?js,console,output

代码语言:javascript
复制
var count = 0;
$.ajax({
  url:'ars.json',
  dataType:'json',
  cache: true,
  success: function(data) {
    for(var k in data){
      if(data.hasOwnProperty(k) && data[k]=="yes"){
         count++;
      }
    }
    console.log(count); // 11
  }
});
票数 1
EN

Stack Overflow用户

发布于 2014-05-12 16:23:48

据我所知,你想用“是”的值来计算财产.您做了两个错误-这使您的代码完全错误: 1。您正在使用对象而不是这个循环,当然对象没有任何属性您正在寻找.2. $( data ).each只运行一次,因为数据不是数组,而是正确代码的单个对象:

代码语言:javascript
复制
success: function(data) {
  var count = 0;
  for(value in data) {
    if(data[value] == 'yes') {
      count++;
    } else {
      //
    }
});
票数 1
EN

Stack Overflow用户

发布于 2014-05-12 16:09:54

尝试:

代码语言:javascript
复制
var v = {"Wojciech Szczesny":"yes","Lukasz Fabianski":"no","Emiliano Viviano":"no","Olivier Giroud":"yes","Per Mertesacker":"yes","Bacary Sagna":"yes","Laurent Koscielny":"no","Santi Cazorla":"yes","Mikel Arteta":"yes","Mesut \u00d6zil":"no","Kieran Gibbs":"yes","Aaron Ramsey":"no","Jack Wilshere":"no","Mathieu Flamini":"yes","Tomas Rosicky":"yes","Lukas Podolski":"yes","Nacho Monreal":"no","Theo Walcott":"no","Thomas Vermaelen":"yes","Carl Jenkinson":"no","Alex Oxlade-Chamberlain":"no","Serge Gnabry":"no","Kim Kallstrom":"no","Nicklas Bendtner":"no","Abou Diaby":"no","Park Chu-Young":"no","Emmanuel Frimpong":"no","Yaya Sanogo":"no","Ryo Miyaichi":"no","Hector Bellerin":"no","Chuba Akpom":"no","Isaac Hayden":"no","Gideon Zelalem":"no","Home":"home","Results":"draw"};

var count = 0;
$.each(v, function(k,v) {
    if (v == "yes") count++;
});

console.log(count);

演示

你的例子中的

代码语言:javascript
复制
var count = 0;
$.ajax({
        url: 'ars.json',
        dataType: 'json',
        cache: true,
        success: function (data) {
            $.each(data, function (index, value) {
                if (value == "yes") count++;
            });
            console.log(count);
        }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23613746

复制
相关文章

相似问题

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